找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于stc15单片机ADC测电压,ADC_DAT导致溢出了?

查看数: 2647 | 评论数: 3 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-7-27 15:56

正文摘要:

如下图,ADC_DAT的值后面成10结果测得电压还是比较准确的,但值后面成100,电压值就不正确了,感觉像ADC_DAT不够大,导致溢出了,但是值并不是很大,应该不会溢出吧,请大佬能解答一下,谢谢(上面的小数点是我自己 ...

回复

ID:897180 发表于 2021-7-27 21:32
Y_G_G 发表于 2021-7-27 20:13
1,读取ADC返回值是u8类型数据,返回的值却是u16类型
2,STC单片机什么时候可以仿真了呢?
3,如果没有必要,不 ...

谢谢,没注意到到返回值是u16的,用Proteus8.9版本的就可以仿真stc单片机
ID:401564 发表于 2021-7-27 20:13
1,读取ADC返回值是u8类型数据,返回的值却是u16类型
2,STC单片机什么时候可以仿真了呢?
3,如果没有必要,不要用浮点型数据,读取ADC整个计算过程用unsigned char
高位和低位合并后的数据用unsigned long int
先得到完整的ADC数字量,先保证数字量是正常范围值,最后计算直接用整型数据就可以了,单片机没有浮点数据,C环境下的浮点是C自己的,不是8051的
比如:10位ADC的量1024个数字量,实际测量值是209,参考电压5.00V,计算方法就是:209/1024*5000mV=1020mV±(4.88mV),这4.88mV是误差,你把这1020mV想办法输出就行了
而如果是用20/1024*5.00的结果不一定是准确的,

评分

参与人数 1黑币 +5 收起 理由
ax6808 + 5

查看全部评分

ID:956553 发表于 2021-7-27 17:17
把这个数打印出来就知道了啊

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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