硬件思维之按键去抖动处理

硬件中有一个很重要的思维就是以微秒级的时间尺度去考虑问题:

比如控制LED灯的渐明渐暗,其中就用到了PWM(脉宽调制技术),是一种通过在一个周期时间内调节高低电平比例方法,特别是在电机控制、逆变器设计、电源管理等方面有着重要的应用。

   那上述思维跟按键又有什么关系呢?什么又是按键去抖动处理?这个问题乍一听是不是有点奇奇怪怪的感觉,按键也能抖动?你以为是cosplay啊。这要看我们在哪个时间尺度上看问题了,以人类的秒级尺度看,我们没有抖动;可是以机械的微秒级尺度看,按键在两个金属片要接触还没接触、没接触却又接触上的临界状态时抖动得厉害。就好像你在地面上蹦蹦跳跳感觉不到大地在振动,可是地上的蚂蚁可不这样想。其实当我们按键的时候是不是能听到一声“滴答”的声音,那么声音又是怎么产生的呢?啊对啦——声音是通过震动产生的,这种震动,我们称之为按键的抖动。

7cb84c0b13df4cec842ada4bf6ecacf1.png

 

   这种抖动会损伤电路,在单片机中这种抖动会影响其对高低电平的判断,因为单片机在按键抖动时读取I/O接口的电平会发现在抖动的时候,谁也不知道会读出什么,可能是高电平也可能是低电平。

ff9787e662e643aea3fb4eeb6209db62.png

 


那如何避免按键的抖动呢?一般有两种方法:

1、硬件去抖动:让按键与一个滤波电路连接,然后再把滤除抖动波后的平滑电平曲线输入给单片机的i/o接口。

2、软件去抖动:这里用到了一个很聪明的方法,叫延迟读取,首先计算出大部分按键从抖动到稳定需要多长的时间,一般是10~20ms,然后写一段程序,当单片机发现有键按下时开始等待,等待10~20ms之后再读取按键的状态,这时读到的就是接触稳定时的按键状态了。一般采用此方法。

最后想说,按键的抖动并不是一个单纯不好的事,这里引用杜洋老师的一句话:按键抖动的特性和基本原理才是至高无上的,在此基础上,任何人都可以探索、发现、创新。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值