• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

51单片机AD转换结果怎么换成十进制数

天堂 2017-06-29 浏览量:1793
官方手册上面说放在ADC_RES和ADC_RESL里面,得到结果需要怎么处理才能变成十进制数?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
其他答案 数量:2
  • 高8位放在了ADC_RES[0-7]中;
    低2位放在了ADC_RESL[1;0]中;
    所以需要16位的运算.

    因为它的数值是10位的, 高8位和低2位存在2个8位的寄存器中。 2个数值是要连起来的。 如果ADC_B2=1 ,则代表数值是4 而ADC_B9=1代表的是2的9次方。
    • 发布于2017-06-29
    • 举报
    • 评论 0
    • 0
    • 0

  • STC单片机是10位AD转换,所以结果是10位量,ADC_RES保存高八位,ADC_RESL保存低两位

    因此先用这个式子得到二进制的最终结果ADC_RES[0-7]*4 + ADC_RESL

    然后再将这个二进制的数转为十进制,之后除以1024乘上5就得到真实的电压值了

    • 发布于2017-06-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

51单片机AD转换结果怎么换成十进制数