为什么有消除按键的机械抖动?

发布网友 发布时间:2022-04-23 07:04

我来回答

3个回答

热心网友 时间:2022-06-17 05:29

有消除按键的机械抖动的原因:

通常的按键所用开关为机械弹性开关。由于机械触电的弹性作用,按键在闭合及断开的瞬间均伴随有一连串的抖动。键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅作一次处理,必须去除抖动。 

消除抖动的方法有硬件和软件两种方法。硬件方法常用RS触发器电路。软件方法是当检测出键闭合后执行一个10ms~20ms的延时程序,再一次检测键的状态,如仍保持闭合状态,则确认真正有键按下。

热心网友 时间:2022-06-17 05:30

按键的机械抖动,我举例说明一下,例如,按键1是连接一个带外部中断的端口,控制开关s1到sn的开启,当你需要开启s1的时候,你只需要按下s1,如果产生机械抖动,就会把s2也打开,甚至打开s3(程序的运行速度太快)。在写中断服务程序程序的时候(如何开启和关闭中断服务程序我就忽略了),需要最后用语句控制关闭中断,在关闭中断的语句前面加一个延时缉龚光夹叱蝗癸伟含连语句,也就是说,当中断开启后必须要延时一定的时间才能结束中断程序,这个延时一般在500毫秒左右就可以了。这样做得好处就是,当按下按键1以后,需要按住500毫秒中断程序才能执行结束,s1才能打开,这样就能避免由于机械抖动所产生的不必要动作。

热心网友 时间:2022-06-17 05:30

因为键抖动会引起一次按键被误读多次。

为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。

在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。

如果按键较多,常用软件方法去抖动,即检测出键闭合后执行一个延时程序,产生12~20 ms的延时,让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。

当确认有键按下或检测到按键释放后,才能转入该键的处理程序。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com