[PIC®/AVR® MCU]

ATmega16差分ADC使用

[复制链接]
45|4
手机看帖
扫描二维码
随时随地手机跟帖
还没过四级|  楼主 | 2023-3-7 22:31 | 显示全部楼层 |阅读模式
用ATmega16单片机的差分ADC测量0~5V电压时,测到4.6V时直接变成0x1FF了,是正常的吗?不应该是到5V才是0x1FF,求大神解答

使用特权

评论回复
wutaosamuel| | 2023-3-8 14:20 | 显示全部楼层
这个是10bit的adc,5V时候的度数应该是0x3FF。
你这个数是ADCL寄存器的吗?那ADCH寄存器的读数呢?

使用特权

评论回复
wutaosamuel| | 2023-3-8 14:27 | 显示全部楼层
而且你这个ADC输入是测差分信号还是作为普通模拟输入,ADMUX寄存器是怎么配置的?

使用特权

评论回复
还没过四级|  楼主 | 2023-3-9 11:31 | 显示全部楼层
wutaosamuel 发表于 2023-3-8 14:20
这个是10bit的adc,5V时候的度数应该是0x3FF。
你这个数是ADCL寄存器的吗?那ADCH寄存器的读数呢? ...

你说的是非差分的单端ADC,差分输入的ADC最大上限是0x1FF

使用特权

评论回复
wutaosamuel| | 2023-3-10 15:19 | 显示全部楼层
我的理解是如果单端ADC结果左对齐的,ADC是8bit精度,只需要读ADCH值就行。如果向右对齐的,ADC精度就是10bit的。
不管左齐还是右齐,差分输入ADC都是10bit,最终的ADC结果是需要ADCH和ADCL进行转换的,可以参考这张表来转换

Screenshot 2023-03-10 103134.jpg

使用特权

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

本版积分规则