按键抖动的处理方法(按键外部中断)

您所在的位置:网站首页 外部中断如何触发 按键抖动的处理方法(按键外部中断)

按键抖动的处理方法(按键外部中断)

2024-07-11 13:37| 来源: 网络整理| 查看: 265

一种情况是没有按按键的时候,按键有时也会因为震动等原因误触发按键事件,引起程序误判。对于这种按键抖动,解决方式有:

并上一个小电容(比如0.1uF)即可解决。

延时检测:检测到按键中断后延时50ms判断这个引脚电平,然后再做进一步处理。

还有一种情况是按下按键时,由于按键本身的结构或质量问题、操作者的发力问题等,在操作者按下一次按键的过程中,实际上触发了数次按下-抬起的动作,引起程序误判。对于这种按键抖动,解决方式有:

延时检测:检测到按键中断后延时50ms判断这个引脚电平,然后再做进一步处理。

禁用中断:进入中断后禁用中断,处理完按键操作后再使能中断。这需要两个条件:没有按键行为时不会有中断发生;处理按键操作的时间足够长,长于一次按键操作的时间(大概是几百ms)。

总体来说,建议的解决办法是:

按键两端并联一个0.1uF电容,可以大幅度减少抖动发生

程序中添加延时检测:检测到按键中断后,过50ms左右检测引脚电平。

如果中断是检测按键按下:如果检测到高电平,说明刚刚发生了1型按键抖动,此次按键中断忽略不计;如果是低电平,可以判断发生了按键事件。另外,应在处理完按键事件后再清除按键事件标志,如此可以避免在处理过程中发生的2型抖动所引发的误判。

如果中断是检测按键抬起:如果检测到高电平,可以判断发生了按键事件;如果是低电平,说明刚刚发生了2型按键抖动,此次按键中断忽略不计,继续等待抬起动作。检测按键抬起时似乎难以判断1型按键抖动,不过并上电容后基本不会发生这种抖动。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3