回复:应用讨论----按钮抖动处理问题

aqiangge1234

  • 帖子

    20
  • 精华

    0
  • 被关注

    4

论坛等级:游士

注册时间:2008-12-05

普通 普通 如何晋级?

发布于 2012-06-29 18:15:49

50楼

谢谢大家分享自己的方法!
小弟以前用的方法是:
弄个块,每次程序执行时把当前的DI入栈,
栈的长度为多少字节可根据滤波需要自己定,
统计栈中的为“1”的位有多少个,该值为N。弄两可设置的整数值A B。A小于B)
当N小于A时认为触点是断开的 把输出置成“0”
当N大于B时认为触点是接通的 把输出置成“1”
其实不只是能用在按钮防抖上其他的DI信号也是一样的。

不过这种办法,就是要考虑上电启动时的情况。
如果按钮是常开的,且还没开机就被什么东西一直压着处于接通状态。
或者按钮是常闭的,且还没开机就被什么东西一直压着处于断开状态。
那也没招了,直接在程序第一回扫描的时候认个初始状态吧。
水平有限希望能给大家点借鉴。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。