找回密码
 立即注册
查看: 149|回复: 14

新手求教ADC返回值转换方法

[复制链接]
  • TA的每日心情
    开心
    2024-4-21 17:02
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    9

    主题

    17

    回帖

    109

    积分

    注册会员

    积分
    109
    发表于 2024-3-25 19:36:43 | 显示全部楼层 |阅读模式
    本帖最后由 lao4jiadian 于 2024-3-25 19:43 编辑

    STC8H8K64U核心实验板(开天斧),原板未改动基准参考电压,未改动如何元件
    实例例程:08-16路ADC轮询-每路16次ADC转换取中间8次求平均值-串口1返回结果
    演示15路ADC和bandgap查询采样

    如:接收←ADC08=2785      万用表测量值1.698V。怎么转换啊?关系式是什么啊?返回:41 44 43 30 38 3D 32 37 38 35 20 20
    2785------1.698   ???? main.c (10.76 KB, 下载次数: 8)



    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:23
  • 签到天数: 47 天

    [LV.5]常住居民I

    0

    主题

    157

    回帖

    361

    积分

    中级会员

    积分
    361
    发表于 2024-3-25 20:03:45 | 显示全部楼层
    返回值就是ADC位数的比例,然后根据内部参考电压反推实测电压。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 15:28
  • 签到天数: 148 天

    [LV.7]常住居民III

    8

    主题

    77

    回帖

    1012

    积分

    金牌会员

    积分
    1012
    发表于 2024-3-25 20:18:04 | 显示全部楼层
    12位ADC 满量程是 4096, 参考电压2.5v,  2785/4096*2.5=1.6998v,   正确啊
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-21 17:02
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    9

    主题

    17

    回帖

    109

    积分

    注册会员

    积分
    109
     楼主| 发表于 2024-3-25 20:30:56 | 显示全部楼层
    NTC 发表于 2024-3-25 20:18
    12位ADC 满量程是 4096, 参考电压2.5v,  2785/4096*2.5=1.6998v,   正确啊

    微信图片_20240325203014.jpg 谢谢了。我看到12位:0-4095.到底是除4096,还是除4095.
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 15:28
  • 签到天数: 148 天

    [LV.7]常住居民III

    8

    主题

    77

    回帖

    1012

    积分

    金牌会员

    积分
    1012
    发表于 2024-3-25 20:48:03 | 显示全部楼层
    屏幕截图 2024-03-25 204555.png

    相差不大,理论上是4096,参考电压也有误差,约0.005v 吧好像。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 97 天

    [LV.6]常住居民II

    9

    主题

    556

    回帖

    817

    积分

    高级会员

    积分
    817
    发表于 2024-3-25 21:16:25 | 显示全部楼层
    lao4jiadian 发表于 2024-3-25 20:30
    谢谢了。我看到12位:0-4095.到底是除4096,还是除4095.

    较真的话应该是除4095
    举个极端例子,比如是1位的ADC是除以1而不是除以2。

    点评

    一定是/4096,学过ADC原理的都知道,逼近式就是硬件2分法查找,分母就是2^n次方。  详情 回复 发表于 2024-3-25 21:23
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2934

    回帖

    6617

    积分

    超级版主

    积分
    6617
    发表于 2024-3-25 21:21:47 | 显示全部楼层
    ADC值 = 4096*输入电压/参考电压,最大值4095.
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2934

    回帖

    6617

    积分

    超级版主

    积分
    6617
    发表于 2024-3-25 21:23:01 | 显示全部楼层
    21cnsound 发表于 2024-3-25 21:16
    较真的话应该是除4095
    举个极端例子,比如是1位的ADC是除以1而不是除以2。 ...

    一定是/4096,学过ADC原理的都知道,逼近式就是硬件2分法查找,分母就是2^n次方。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    郁闷
    昨天 08:15
  • 签到天数: 60 天

    [LV.6]常住居民II

    3

    主题

    552

    回帖

    748

    积分

    高级会员

    积分
    748
    发表于 2024-3-25 21:34:59 | 显示全部楼层
    2的12次方等于4096,量产是0-4095。除4096
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 97 天

    [LV.6]常住居民II

    9

    主题

    556

    回帖

    817

    积分

    高级会员

    积分
    817
    发表于 2024-3-25 22:42:19 | 显示全部楼层
    本帖最后由 21cnsound 于 2024-3-25 22:44 编辑
    梁工 发表于 2024-3-25 21:23
    一定是/4096,学过ADC原理的都知道,逼近式就是硬件2分法查找,分母就是2^n次方。 ...

    逼近式是用的二分法没错,参考电压源是VCC_REF,测量目标也是VCC,按你说的逻辑计算得到就是VCC=4095/4096*VCC_REF,而实际上VCC=VCC_REF,这是“人为误差”了吧?

    点评

    12位的ADC读数为0~4095,一共4096级。 将AVREF分4096级,则输入电压范围就是0~4095/4096 * AVREF,即输入电压为AVREF*4095/4096时为满量程,明白了吗? 如果仍不明白,可以了解一下逼近式ADC原理(现代的逼近式ADC多  详情 回复 发表于 2024-3-25 23:20
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-5 05:08 , Processed in 0.070002 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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