佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: ckchung

18f4550 usb interfacing...

[复制链接]
发表于 7-3-2009 07:39 PM | 显示全部楼层
我看了这一篇帖子之后。http://cforum3.cari.com.my/viewthread.php?tid=725843
自己加了ADC=10
然后再跟那帖子PIC大大解释的formula.
得到的fraction是value*0.43945
结果得到正常的温度是29左右。不知道做到对不?
我用meter量到lm35的vcc和gnd只有4.5v.
所以用(4.5/1024)/0.01

现在的温度是28celcius 而lcd显示的reading是27.X到29.X之间在跳。之前delay是500ms的。跳很快。我改成1500ms了。
那reading还是会不太稳,不过不会跳太快了。
如果我在lm35周围加热时候。reading会增加,不过会有fluctuate.(比如:28.1,   28.7,    32.1,   29.2,    29.7,   34.5,   33.2.....)
这样正常吗?

还有,我用的crystal是20MHZ的,为什么写program clock要改成48Mhz?

我之前有用mplab弄好了usb interface了,所以把usb插进电脑,电脑就可以detect到我的device,然后可以用vb控制它了。
而现在弄了这个之后,不知道应该如何和之前那个结合起来。。因为那个是用mplab,这个是ccs...
不知道版主有ccs 写 HID或CDC class的example吗?
我看proteus里面的example都只是hex file而已。没有源码。

[ 本帖最后由 冷血趙雲 于 7-3-2009 08:17 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 8-3-2009 08:32 AM | 显示全部楼层

回复 61# 冷血趙雲 的帖子

1.为什么不要ADC=10了?

对不起, 我漏放了, 那个是从旧code 里copy paste 出来。

2.fuses加了那几个是什么意思?

这个, 不如你去看datasheet, 然后和大家分享? 你会受益良多。。。

我用meter量到lm35的vcc和gnd只有4.5v.
所以用(4.5/1024)/0.01

如果你的MCU的VCC 是4.5V, 你可以用4.5V, 那么4.5= 1024
你也可以用external Vref, 去AN3, 比如2.5V, 那么你的精确度有可以提高。


还有,我用的crystal是20MHZ的,为什么写program clock要改成48Mhz?

和fuse 的PLL5 有关。
回复

使用道具 举报

发表于 8-3-2009 09:12 AM | 显示全部楼层
原帖由 pic 于 8-3-2009 08:32 AM 发表

对不起, 我漏放了, 那个是从旧code 里copy paste 出来。


这个, 不如你去看datasheet, 然后和大家分享? 你会受益良多。。。


如果你的MCU的VCC 是4.5V, 你可以用4.5V, 那么4.5= 1024
你也可以用 ...


恩。我会去看data sheet了。之后会分享。
为什么用external 的volage reference会比较精准呢?是因为用mcu的4.5会不稳定的意思吗?
现在先出门了!谢谢版主。
回复

使用道具 举报

发表于 8-3-2009 12:42 PM | 显示全部楼层
原帖由 冷血趙雲 于 8-3-2009 09:12 AM 发表


恩。我会去看data sheet了。之后会分享。
为什么用external 的volage reference会比较精准呢?是因为用mcu的4.5会不稳定的意思吗?
现在先出门了!谢谢版主。

关于精确度, 这个waiweng 大大有解释过。
如果你用LM336-2.5  2.5V 的参考电压进ADC 的Vref+
10bit=1024
5V = 4.88mV/ step
2.5V=2.44mV/ step
1.25V=1.22mV / step

LM35 是10mV/ degC
如果是30DegC= 10mV x 30 = 300mV
如果是10bit, 5V reference, 你会得到大概 ADC= 61
如果是10bit, 2.5V reference, 你会得到大概 ADC= 123
如果是10bit, 1.25V reference, 你会得到大概 ADC= 240


所以, 如果你要更精确, 用1.25V 的reference 或更低的参考电压。
至于你说读数会飘动, 试试加电容稳定, 或RC电路, R=1K, C=1uF~10uF
更高级一点的就是, 你可以做Median filter,这是我没有在这里说过的, 有需要才说。
回复

使用道具 举报

发表于 8-3-2009 06:43 PM | 显示全部楼层
原帖由 pic 于 8-3-2009 12:42 PM 发表

关于精确度, 这个waiweng 大大有解释过。
如果你用LM336-2.5  2.5V 的参考电压进ADC 的Vref+
10bit=1024
5V = 4.88mV/ step
2.5V=2.44mV/ step
1.25V=1.22mV / step

LM35 是10mV/ degC
如果是30DegC= 1 ...


我直接在AN0接gnd也得不到0,有1.3和0.9在跳。。不知道什么原因。
你说的rc circuit是high pass filter low pass filter那些吗?
如果用ext vref的话,program也要改哪里呢?
回复

使用道具 举报

发表于 8-3-2009 07:08 PM | 显示全部楼层
原帖由 冷血趙雲 于 8-3-2009 06:43 PM 发表
我直接在AN0接gnd也得不到0,有1.3和0.9在跳。。不知道什么原因。

看来你的Gnd 很差, 请直接从MCU的GND 接到AN0, 你一定要拿到0., LM35 不接。
你用Breadboard?

你说的rc circuit是high pass filter low pass filter那些吗?

先不要节外生枝了。。 你的GND 先弄好在看看。

如果用ext vref的话,program也要改哪里呢?
  1.    setup_port_a( ALL_ANALOG | VSS_VREF );
复制代码
回复

使用道具 举报

Follow Us
发表于 8-3-2009 10:07 PM | 显示全部楼层
原帖由 pic 于 8-3-2009 07:08 PM 发表

看来你的Gnd 很差, 请直接从MCU的GND 接到AN0, 你一定要拿到0., LM35 不接。
你用Breadboard?


先不要节外生枝了。。 你的GND 先弄好在看看。


   setup_port_a( ALL_ANALOG | VSS_VREF );


我用mcu的ground拿到最低才0.4而已,有时候0.0。。。
为什么会这样的呢??
我的lcd和mcu连接时候就会用到breadboard。mcu的circuit已经是在pcb board上面了的。也没有short circuit.
有什么解决方法吗?
不知道什么原因。
回复

使用道具 举报

发表于 9-3-2009 10:15 AM | 显示全部楼层
原帖由 冷血趙雲 于 8-3-2009 10:07 PM 发表
我用mcu的ground拿到最低才0.4而已,有时候0.0。。。
为什么会这样的呢??

怎样量?电表的黑棒接哪里?
电线要短, 或可能你的meter 也不准确。
回复

使用道具 举报


ADVERTISEMENT

发表于 9-3-2009 01:10 PM | 显示全部楼层
原帖由 pic 于 9-3-2009 10:15 AM 发表

怎样量?电表的黑棒接哪里?
电线要短, 或可能你的meter 也不准确。


我不是用meter量。。
我是说那个LCD 显示的reading....是0.4-0.0 之间。(AN0接GND的时候)
回复

使用道具 举报

发表于 5-5-2009 09:01 PM | 显示全部楼层
不好意思,借这帖发问:

1. 如果我要把PIC接 ICSP是不是 这样?
--把Vdd1 和 Vdd2  连接在一起到 +5V, 然后在把Vss1 和 Vss2 接去 5V common return.  
--需要接一个 10uF capacitor 对吗?

2.还有,如果我直接买  PIC Start-up Kit 就不用 接 ICSP 了对吗?

3. 如果有了PIC Start-up Kit 就不用自己接crstal, power circuit, reset cct 等等,想问大家平时是自己接还是买PIC Start-up Kit ??

谢谢。
回复

使用道具 举报

发表于 7-5-2009 10:43 AM | 显示全部楼层
原帖由 高明 于 5-5-2009 09:01 PM 发表
不好意思,借这帖发问:

1. 如果我要把PIC接 ICSP是不是 这样?
--把Vdd1 和 Vdd2  连接在一起到 +5V, 然后在把Vss1 和 Vss2 接去 5V common return.  
--需要接一个 10uF capacitor 对 ...


1.没有icsp你也是要这样做。。。。没有的话你的pic没有点。跑不了。
未必所有的pic有vdd1,2, vss1,2. 只要有接到vdd, vss就可以了。

icsp你需要5个pin. ,Vdd, Vss, Vpp, PGD, PGC.看datasheet pin assignment有写。

2。那里买的pic startup kit?没有part number,回答不到。

3。都是自己来。没用starter kit.
回复

使用道具 举报

发表于 7-5-2009 01:38 PM | 显示全部楼层
原帖由 fritlizt 于 7-5-2009 10:43 AM 发表


1.没有icsp你也是要这样做。。。。没有的话你的pic没有点。跑不了。
未必所有的pic有vdd1,2, vss1,2. 只要有接到vdd, vss就可以了。

icsp你需要5个pin. ,Vdd, Vss, Vpp, PGD, PGC.看datasheet pin assignme ...



谢谢你版主,我刚刚看了cxtrxn 的 Enhanced 40 pins PIC Start-up Kit,里头已经有bootloader,UIC00A Programmer.

file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg
回复

使用道具 举报

发表于 7-5-2009 04:10 PM | 显示全部楼层
err...我想你误会了。那个 starter kit, 并没有包含 PIC,只是 board 而已,所以 也是没有包含 bootloader 的。而且它也没有 build-in programmer。只是有socket 而已。UIC00A 是要另外买的。
回复

使用道具 举报

发表于 7-5-2009 05:46 PM | 显示全部楼层
原帖由 waiweng83 于 7-5-2009 04:10 PM 发表
err...我想你误会了。那个 starter kit, 并没有包含 PIC,只是 board 而已,所以 也是没有包含 bootloader 的。而且它也没有 build-in programmer。只是有socket 而已。UIC00A 是要另外买的。


所以如果有了started kit,ICSP还是要自己接?


我还是第一次碰PIC,正在学习着。

顺便问下PIC能用多少种programme language?
之前有学过C++,那一种比较容易使用呢?
最近看了下PIC 的assembly language, 真的很难下。

谢谢。
回复

使用道具 举报

发表于 7-5-2009 06:08 PM | 显示全部楼层
原帖由 高明 于 7-5-2009 05:46 PM 发表


所以如果有了started kit,ICSP还是要自己接?


我还是第一次碰PIC,正在学习着。

顺便问下PIC能用多少种programme language?
之前有学过C++,那一种比较容易使用呢?
最近看了下PIC 的assembly language,  ...


顺便问下PIC能用多少种programme language?
不懂。 asm, c, basic....可能还有。

之前有学过C++,那一种比较容易使用呢?
看个人。 喜欢asm,就讲asm keng, 好用。
喜欢c的就讲c keng, 好用。
喜欢basic的就讲basic keng, 好用。
喜欢。。。。。。。。
我本身, 用c.
用c写,换mcu的时候program不用换很多。
回复

使用道具 举报

发表于 9-5-2009 07:10 PM | 显示全部楼层

回复 75# fritlizt 的帖子

谢谢您的回复,我现在正犹豫着要学

MPLAB C 18 还是MPLAB assembly  language

[ 本帖最后由 高明 于 9-5-2009 07:13 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 22-4-2012 02:09 AM | 显示全部楼层
我也是用PIC18f4550
请问是不是要先用ICSP programmer把支持USB programming的固件烧录去PIC后
才可以用USB bootloader呢?
USB bootloader就是先用来load HEX code再write program去PIC的对吧?
只是想确定一下我有没有弄错。。。
还有,要去哪里下载让PIC18F4550可以用USB port 来programming的固件和bootloader呢?
回复

使用道具 举报

发表于 8-6-2012 05:20 PM | 显示全部楼层
回复 77# FakeSheep


   
没错。 你需要bootloader.哪里找我就不懂。 我都用programming port的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 28-3-2024 11:46 PM , Processed in 0.063203 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表