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

STC51单片机,在写主程序逻辑判断问题

lilei 2018-08-10 浏览量:1422
STC51单片机在写主程序逻辑判断的时候,应该用转换后的AD值来做逻辑判断,还是换算成Vin来进行逻辑判断好?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 还是建议转化为实际测量电压,单位用mV

    比如你被采样的电压范围为0 - 10 ,你经过分压转成0 - 3 V。

    最后经过ADC得到数值。我建议你还是转成0-10V的范围,可以放大1000倍,用MV表示。

    这样的好处是:

    1、程序很直观,后级用到电压做逻辑判断的时候,也很方便。

        比如:你后级需要检测到电压在5V的时候一个动作,6V的时候一个动作,如果你用AD值的话,当你ADC的放大倍数做了调整,你需要反过来重新找到5V位置的ADC,6V位置的ADC值。

    2、方便检测ADC你ADC的线性度,电压是否检测正确。

    • 发布于 2018-08-10
    • 举报
    • 评论 0
    • 5
    • 0

其他答案 数量:22
  • 从资源节省来说用AD值好,不过最好附近有注释,起码表明对应的Vin值。

    或者把相应的判断标准定义为宏,而宏名用有意义的值。

    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 2
    • 0

  • 我怎么感觉采样AD值和Vin用起来是一样的。基本就是个线性对应关系,AD值和Vin中间就是一个公式。用Vin更直观,用AD更简单。做程序的时候想必都要规划好采样范围和对应关系了吧。
    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 1
    • 0

  • 我觉得还是转化成Vin值,以便以后程序维护容易理解!
    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 要求速度快直接用ad值判断,如果不要求速度可以转换成vin在判断
    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个最好是用ad值进行判断,操作非常简单,处理也比较快
    • 发布于2018-08-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 当然是用AD啊,因为你换算的时候可能会引入误差,而且你基准电压不一定是整数,浮点型运算对这种单片机来说很困难
    • 发布于2018-08-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 知道对应的值后 直接判断就可以 没必要转换

    不知道或者值是变化的 就只能转换后判断了

    • 发布于2018-08-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 建议用转换后的AD值做判断,因为Vin本身存在误差,这个误差会被带到换算值里面
    • 发布于2018-08-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 我觉得AD吧,这才是比较标准的值
    • 发布于2018-08-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 用AD比较好,不要需要转接处理,节省内部资源
    • 发布于2018-08-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 直接读取AD寄存器值乘一个浮点系数就可以了,转换不复杂。
    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STC51单片机,在写主程序逻辑判断问题