- UID
- 194983
- 阅读权限
- 40
- 推广
-
- 幽默
-
- 注册时间
- 2011-5-8
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2018-2-26 17:58:29
|
显示全部楼层
说反了
集成ADC的单片机,可以用来测量电压.不带ADC的单片机,只能识别高低电平.
根据手册,一般2V或0.7倍的VCC以上,认作为高电平,小于0.7或0.3倍的VCC,认为低电平.其中,VCC表示单片机的供电电压.那0.3到0.7倍电压之间表示高电平还是低电平,这就不确定状态.所以在设计电路时不允许出这种状态.
ADC是模拟-数字转换.因为单片机只能接收数字信号,但我这个信号它就是模拟量,这时就要ADC来完成这个转换了.比如充电器.我要求它在4.2V的时候停止充电,这时光靠单片机就不行了,必须有ADC的参与,它可以将电压以数值来表示,这也就是ADC的功能.现在稍好一点的单片机都带ADC,有8位的,有10位的,也有12位甚至更高的.
这个8位10位是什么意思呢?它是将单片机的参考电压(一般就是电源电压,有的单片机有专用的参考电压管脚,这种就可以供其他电压了,但一般都不得大于电源电压).将参考电压分为2的8次方(256级)或2的10次方(1024级).
比如,参考电压是5V,8位的,那么5/256=19.53125mV ,1格就是19.53mV的样子.比如我从ADC中读到的数据是132,那么这时ADC管脚上的电压就是19.53*132=2.578V .
再比如这是10位的,那么5/1024 =4.8828mv.如果测到的值是860,那么对应的电压就是860*4.8828=4.1992V.
所以,AD的位数越多,则它越精细,这就和万用表一样,四位半的表和三位半的表都能用来测电压,测量的范围也都是一样,只是四位半的能多显示一位,至于这一位你是否需要,取决于你的要求.同样AD是8位还是10位还是12位甚至更高,也是取决于你的需求.
从上面来看,使用5V供电,ADC的值不是个整数.所以有强迫症的会很不爽,另外,更重要的一点,由于电源电压精度并不高,说是5V,实际上4.5到5.5都可能.这时同样的ADC读数,对应的真实电压就不一样了.所以这时就需要一个参考电压,一般来说,这是一个单独的小器件,和供电用的7805差不多,但是它的输出电压是很精确的.比如美信的MAX6220,它的输出电压4.096V误差只有0.1%.4.096V 用在12位的ADC上,数值1就代表1mV.都不需要计算.而像刚才那些带小数点的乘法,对单片机来说是很麻烦的.
|
|