今天小编要和大家分享的是嵌入式技术相关信息,接下来我将从机械按键如何去处理按键抖动的问题,sony \这几个方面来介绍。

嵌入式技术相关技术文章机械按键如何去处理按键抖动的问题sony \

嵌入式技术相关技术文章机械按键如何去处理按键抖动的问题

说明

我们在嵌入式开发过程中,按键是必不可少的东西。但是如何使用好按键,这也是一个非常难的事情。对于一个嵌入式工程师来说,想要做好用户体验,按键的响应是非常的考验人的。这里涉及到按键的抖动相关知识,关于如何去抖问题,将会在这篇文章中进行深度分析。

一般的机械式按键的构造是两个金属片和一个复位弹簧,按键按下时,两个金属片便被压在了一起。

机械按键如何去处理按键抖动的问题

如图所示,当按键向下按的时候,由于接触的面积和时间问题,并不是立即就会形成一个稳定的信号,大概的波形如下图所示:

机械按键如何去处理按键抖动的问题

随着抖动,那么我们可能会产生多个按键中断,那么我们该如何去处理这个问题呢?

02

硬件消抖

要解决抖动问题,我们可以通过对硬件进行一定的修改,设计一个RC积分电路进行消抖。

机械按键如何去处理按键抖动的问题

由于RC积分电路有延时处理的问题,所以我们可以利用这个特性进行抖动消除。但是,这个方法在实际产品中真的稳定吗?从原理上来说,我们通过调节RC电路延迟,电阻越大,延迟越大。同时也过滤掉了前期可能会引起中断的杂波,但是电路设计必须非常合理,同时也需要软件的配合。所以硬件消抖只能从一定程度上解决问题,并不能根本上解决问题。

03

软件去抖

中断消抖

单片机中,一般消抖处理可以通过这样的方式进行,第一次产生中断后,然后在中断函数中去读取按键的电平,如果判决确实是按键按下时的电平,然后再过10ms再读一次电平。如果两次读到的值都是一样的,那么认为该电平是按键按下的。

机械按键如何去处理按键抖动的问题

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查