㈠ 为什么要消除键盘的机械抖动
键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。如果按键较多,常用软件方法去抖动,即检测出键闭合后执行一个延时程序,产生12~20
ms的延时,让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当确认有键按下或检测到按键释放后,才能转入该键的处理程序。
㈡ 按键及键盘与CPU接口存在着去抖动的问题,为什么要消除按键及键盘的机械抖动常采用什么方法消除抖动
按键的机械抖动,我举例说明一下,例如,按键1是连接一个带外部中断的端口,控回制开关S1到SN的开启,当你答需要开启S1的时候,你只需要按下S1,如果产生机械抖动,就会把S2也打开,甚至打开S3(程序的运行速度太快)。在写中断服务程序程序的时候(如何开启和关闭中断服务程序我就忽略了),需要最后用语句控制关闭中断,在关闭中断的语句前面加一个延时语句,也就是说,当中断开启后必须要延时一定的时间才能结束中断程序,这个延时一般在500毫秒左右就可以了。这样做得好处就是,当按下按键1以后,需要按住500毫秒中断程序才能执行结束,S1才能打开,这样就能避免由于机械抖动所产生的不必要动作。