发新帖我要提问
12
返回列表
打印

谢谢 斑竹。PIC12F683问题继续。!??

[复制链接]
楼主: fleshyao
手机看帖
扫描二维码
随时随地手机跟帖
21
兰天白云| | 2007-12-2 13:09 | 只看该作者 回帖奖励 |倒序浏览

真没办法,你自己也的多看看书

1:把ADC的数据换算成0.199~1.58
2:或则把0.199~1.58换算成0~100

不要说你不会算

使用特权

评论回复
22
xieyuanbin| | 2007-12-2 14:53 | 只看该作者

晕死,怎连这个都不知道?

如果你AD基准电压选5V电源电压,那么8BIT的AD结果在测量5V时得到的十六进制数值就是0XFF。2.5V得到的数值就是0X7F。

使用特权

评论回复
23
HotPower| | 2007-12-3 02:46 | 只看该作者

我倒塌了~~~给点耐心不成???---俺报恩授课~~~

俺胡说几句:

假如电压基准是Vref=5V.输入信号Vi=0~5V.(超过基准电压要分压)
AD转换为10位的,那么就是2*2*.....*2=2^10=1024=0x3ff+1
数字将会等分1024份,即0,1,....1022,1023.
设数字转换后的"电压值"为Vd.

当Vi = 0时, Vd肯定为0,估计人人应该都明白

当Vi = 5V时,Vd应该最大,肯定是0x3ff或1023.

为何不是1024呢???因为1024就成了11位AD了~~~

既然Vi=5V对应Vd=1023

所以有 Vd = (Vi / Vref) * (2 ^ 10 - 1)
          = (Vi / Vref) * 1023

固有Vi=5V   Vd = (5V / 5V) * 1023 = 1023;//哈哈,你会说这些都是废话~~~
再来Vi=2.5V Vd = (2.5V / 5V) * 1023 = 1023 / 2 = 511或512(你看着办~~~)
继续Vi=1V  Vd = (1V / 5V) * 1023 = 1023 / 5

所以我们就把"公式"推出来了~~~(哈哈~~~俺从不记公式,现推现用,锻炼大脑~~~)

所以会有人说俺菜农傻~~~哈哈,不这样傻,脑浆早变成黑色的了~~~

那么已知Vd如何求Vi呢???本不该再讲,为了您那晚的真诚,俺就罗嗦几句,也好报恩~~~

因为: Vd = (Vi / Vref) * (2 ^ N - 1)//其中N为AD转换的为数

那么: Vi = (Vd * Vref) / (2 ^ N - 1)

例如: Vd = 250(俺喜欢这个数字~~~)

那么: Vi = (250 * 5V) / 1023 = 1.222V

千万注意: 为了减小误差,一定要先乘后除!!!!!!!这是ADC/DAC的要领~~~

还要注意: 2N-1=1023.

网上有很多关于到底是1024还是1023对否的问题.

不管争论如何,我个人认为应该取1024.(公式全用2N,而不用2N - 1)

因为1024做乘除只需左右移位10次(N次)即可.

争论无非是为了1/1024或1/1023.这点小毛病就什么好计较的呢???

就像种菜一样,在10米长的菜地里种10棵白菜,间距为10米.

那么应该可以压线种10棵,共有9个空隙(间距).

有人会站在菜数上考虑问题,也有人从间距上考虑问题~~~

课讲完了,俺准备回村吃夜宵去也~~~

菜农  2007.12.3  2:50(哈哈~~~又是1个250)
相关链接:http://www.**/blog/hotpower/12610/category.aspx

使用特权

评论回复
24
fleshyao|  楼主 | 2007-12-3 20:47 | 只看该作者

呵呵 小地方 没书啊!只有一个PIC提供的DATASHEET

使用特权

评论回复
25
fleshyao|  楼主 | 2007-12-4 22:15 | 只看该作者

题外话 !反思中--》严重反思!!

另开一个贴吧。 

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则