基于延时采样的按键消抖方法

基于延时采样的按键消抖方法

知识共享许可协议
本作品采用知识共享署名-相同方式共享 3.0 未本地化版本许可协议进行许可。

按键抖动

常见的按键有轻触按键和触摸按键。前者通过内部金属片受力弹动实现按键的接通和断开,后者通过电阻或电容实现触摸感应。此处讨论轻触按键的抖动和软件消抖方法。

产生抖动的原因

通常的按键所用的开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。

在闭合及断开的瞬间均伴随有一连串的抖动。程序很有可能因为抖动,将一次按键读取成多次输入。按键为了使这种抖动不影响正常的操作,需要在软件中进行优化处理,就是按键消抖。

按键消抖的机理

通常,按键持续时间为数百毫秒以上;按下和放开按键时,产生的抖动一般持续10ms。常用消抖方式有两种:

  • 延时采样:检测按键电平变化后延时(10ms以上),采样作为有效信号
  • 周期采样:每隔固定时间采样(10ms以上) ,采样作为有效信号

此处使用延时电平采样实现按键消抖。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值