文章图片
为什么要进行按键消抖
按键消抖通常的按键所用开关为机械弹性开关 , 当机械触点断开、闭合时 , 由于机械触点的弹性作用 , 一个按键开关在闭合时不会马上稳定地接通 , 在断开时也不会一下子断开 。 因而在闭合及断开的瞬间均伴随有一连串的抖动 , 为了不产生这种现象而作的措施就是按键消抖 。
按键的抖动对于人类来说是感觉不到的 , 但对单片机来说 , 则是完全可以感应到的 , 而且还是一个很“漫长”的过程 , 因为单片机处理的速度在“微秒”级 , 而按键抖动的时间至少在“毫秒”级 。
一次按键动作的电平波形如下图 。 存在抖动现象 , 其前后沿抖动时间一般在5ms~10ms之间 。 由于单片机运行速度非常快 , 经过A时刻的时候会检测到低电平判断按键被按下 。 当到了B时刻的时候 , 单片机同样会检测到高电平 , 误以为松开按键 , 然后又到了C时刻检测到低电平 , 判断到按键被按下 。 周而复始 , 在5-10ms内可能会出现很多次按下的动作 , 每一次按键的动作判断的次数都不相同 。
为确保单片机对按键的一次闭合仅作一次处理 , 必须处理按键抖动问题 。 在按键闭合或者释放稳定时再读取按键的状态 。
硬件消抖电路
硬件消抖一般有两种实现方式:
- RS触发器
- 电容滤波
利用RS触发器来吸收按键的抖动 。 一旦有键按下 , 触发器立即翻转 , 触电的抖动便不会再对输出产生影响 , 按键释放时也一样 。 RS触发电路消抖电路图如下 。
电容滤波
将电容并联在按键的两端 , 利用电容的放电的延时特性 。 将产生抖动的电平通过电容吸收掉 。 从而达到消抖的作用 , 电容消抖电路图如下图所示 。
总结
实际上 , 在没有MCU的情况下 , 对按键进行消抖通常是通过硬件消抖电路来实现 。 而在嵌入式开发中 , 大多数情况下都是通过程序来实现按键消抖 。 简单说就是加合适的延迟 , 显然这实现成本要比硬件电路方式低得多 。
【显卡|按键的硬件消抖电路原理】声明:本文转载自网络 , 如涉及作品内容、版权和其它问题 , 请于联系工作人员 , 我们将在第一时间和您对接删除处理!
- OPPO|千元左右的手机,究竟适合什么人?从两台手机对比看穿本源含义!
- 显卡|天玑9000+2K屏幕+120W快充,这款手机如今只卖2399了
- 富士康|675亿化为乌有!郭台铭和富士康成为国产崛起的“背景板”
- 微软|618活动将迎来高潮,换新必看的3款数码好物,错过再等五个月
- 笔记本|手机最容易“偷工减料”的3个地方,你了解吗?
- 机械键盘|2022上半年盘点:那些卷起来的机械键盘&轴体
- 安卓|2022年闭眼可以买的三款手机,只因有口皆碑
- 5G|高端游戏本的香饽饽!Killer杀手无线网卡到底有多强?
- 主板|经典:Linux运维面试的174道常见问题汇总
- 游戏本|618小白选购游戏本建议:同价位多做对比再入手,说不定有更香的