STC单片机的A/D转换值应该如何计算

如果单片机的8位的A/D转换值,那么最大值应该是0xFF,即255,当信号值为5v,电源为5v时,它的转换结果为5*2^8/5=256,岂不是超出了寄存器的最大值?... 如果单片机的8位的A/D转换值,那么最大值应该是0xFF,即255,当信号值为5v,电源为5v时,它的转换结果为5*2^8/5=256,岂不是超出了寄存器的最大值? 展开
 我来答
艺嵌科技
推荐于2018-04-30 · TA获得超过411个赞
知道小有建树答主
回答量:373
采纳率:100%
帮助的人:391万
展开全部
不会的,满值的时候就是0xff,而不会是256,你可以用一个比满值电压稍大一点点的电压测试便可以看得出效果了,然后计算公式是:(寄存器值/255)*参考电压=实际电压
小姐内涵了
2013-10-17
知道答主
回答量:2
采纳率:0%
帮助的人:2885
展开全部
只是一个公式,把AD的值取出来 比如ad=ad*500./255; 就是电压值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3fe025987
推荐于2016-12-02 · TA获得超过1874个赞
知道小有建树答主
回答量:1055
采纳率:62%
帮助的人:548万
展开全部
5V参考电压,8bitAD
0-5v 对应 0-255
一个单位对应的电压 5/255(分辨率)。所以转换成实际电压 = AD采样值 * (5/255)
你最大的采样值也就是 255,这采样值不需要计算。
你的公式 应该这样吧 5V * (255/5) 得出 5v对应的采样值。明了?
更多追问追答
追问
我和你的想法一样,但书上说的和官方手册上都写的是Uin*256/5,无奈。在单片机中有没有进位寄存器?能表示存在进位
追答
如果是 stc89系列的,他的AD是10bit的。 datasheet 128页
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友186dfeac08
2013-10-17 · TA获得超过754个赞
知道小有建树答主
回答量:1074
采纳率:50%
帮助的人:528万
展开全部
是超出了,这样算是有一定误差的嘛。

因为你用256对应5V,单片机里面是用255对应5V的,所以会产生一个量化误差。

但这个问题不严重,你知道了这个原因后,自己进行软件的修正就行了。或者不修正,算出来的结果满足你的精度要求就行了。

5V时,单片机里面的最大值是255,那么通过直接计算,可知 5/(2^8)*255=4.98,说明有0.02的误差,你能接受就行了。不能的话,你在计算时这样算: 5/(2^8-1)*255=5,嘿嘿!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式