文章图片
为什么要进行按键消抖
按键消抖通常的按键所用开关为机械弹性开关 , 当机械触点断开、闭合时 , 由于机械触点的弹性作用 , 一个按键开关在闭合时不会马上稳定地接通 , 在断开时也不会一下子断开 。 因而在闭合及断开的瞬间均伴随有一连串的抖动 , 为了不产生这种现象而作的措施就是按键消抖 。
按键的抖动对于人类来说是感觉不到的 , 但对单片机来说 , 则是完全可以感应到的 , 而且还是一个很“漫长”的过程 , 因为单片机处理的速度在“微秒”级 , 而按键抖动的时间至少在“毫秒”级 。
一次按键动作的电平波形如下图 。 存在抖动现象 , 其前后沿抖动时间一般在5ms~10ms之间 。 由于单片机运行速度非常快 , 经过A时刻的时候会检测到低电平判断按键被按下 。 当到了B时刻的时候 , 单片机同样会检测到高电平 , 误以为松开按键 , 然后又到了C时刻检测到低电平 , 判断到按键被按下 。 周而复始 , 在5-10ms内可能会出现很多次按下的动作 , 每一次按键的动作判断的次数都不相同 。
为确保单片机对按键的一次闭合仅作一次处理 , 必须处理按键抖动问题 。 在按键闭合或者释放稳定时再读取按键的状态 。
硬件消抖电路
硬件消抖一般有两种实现方式:
- RS触发器
- 电容滤波
利用RS触发器来吸收按键的抖动 。 一旦有键按下 , 触发器立即翻转 , 触电的抖动便不会再对输出产生影响 , 按键释放时也一样 。 RS触发电路消抖电路图如下 。
电容滤波
将电容并联在按键的两端 , 利用电容的放电的延时特性 。 将产生抖动的电平通过电容吸收掉 。 从而达到消抖的作用 , 电容消抖电路图如下图所示 。
总结
实际上 , 在没有MCU的情况下 , 对按键进行消抖通常是通过硬件消抖电路来实现 。 而在嵌入式开发中 , 大多数情况下都是通过程序来实现按键消抖 。 简单说就是加合适的延迟 , 显然这实现成本要比硬件电路方式低得多 。
【单片机|按键的硬件消抖电路原理】声明:本文转载自网络 , 如涉及作品内容、版权和其它问题 , 请于联系工作人员 , 我们将在第一时间和您对接删除处理!
- 华为荣耀|华为畅享和畅玩的区别?大家忽略了一个重点,看完就明白了
- 小程序|夺回失去的春天!寒冬之下,数百万线下门店的求生路
- 1小时卖出27万台,618限期仅售1699元起,被“低估”的优质旗舰
- 【升旗】你的坚持,终将美好
- 家里的路由器需要关吗?你的手指一动,一年到底能省多少?
- 小米科技|米家倒闭?外媒听风是雨,唯恐小米不乱,米家真的出事了吗
- 陈赫“退股贤合庄”,门店陆续倒闭,消费明星餐饮的热情有多久?
- OPPO|上车的机会来了!OPPO各机型618大促汇总: 1.5K-7K价位都有选择
- 网购|外国媒体最近都敏锐地注意到中国的互联网科技发展得实在是太快了
- 音箱|华为麒麟后继有芯!搭载跳票两年的5G国产芯片新机发布:性能不俗