找回密码
 注册
关于网站域名变更的通知
查看: 184|回复: 2
打印 上一主题 下一主题

单片机怎么判断某个数据范围?才不会在临界值不稳定

[复制链接]
  • TA的每日心情
    奋斗
    2022-1-21 15:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-7-21 13:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    如何判断某个数据范围,且不会被在临界值跳动,造成判断不稳定。比如判断一个温度36.3-36.9,亮起第一个灯,36.9-37.3亮起第二个灯。如果在36.9中间跳动一会,就会出现一下两个灯亮,一下一个灯亮,如何解决这个问题,大佬们帮帮忙提个方案,有示例代码更好。万分感谢!!
    # P$ o" _% A5 @( E$ V
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2022-7-21 14:02 | 只看该作者
    加一段滞回hysteresis呗。超过36.95才亮起第二个灯,低于36.85才亮起第一个灯,并熄灭第二个灯。
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-7-21 14:02 | 只看该作者
    1. 输入数值滤波后才比较8 H6 N9 i+ W" O; d2 N
    2. 比较范围加死区。如判断一个温度36.3-36.9,亮起第一个灯,36.9-37.3亮起第二个灯
    " k: c* @( N1 @; \+ t  J
    # ]: t; q& e2 C$ z: n, i代码就写为7 ^! W( F+ X: d5 v# m$ N8 v$ i
    • if(ADC>= 36.4 && ADC <= 36.8)
    • {
    •         led1 = On;
    • }
    • else
    • {
    •         led1 = Off;
    • }
    • if(ADC>= 37。0 && ADC <= 37.2)
    • {
    •         led2 = On;
    • }
    • else
    • {
    •         led2 = Off;
    • }9 ~5 t& P2 O& h7 z! K4 _8 S  u
    , @1 I5 L( n$ i7 s9 N

    8 M! z6 B' D+ g) A* y4 }7 M; I/ l  b. N
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-24 09:10 , Processed in 0.093750 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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