为什么有消除按键的机械抖动?
3个回答
展开全部
按键的机械抖动,我举例说明一下,例如,按键1是连接一个带外部中断的端口,控制开关s1到sn的开启,当你需要开启s1的时候,你只需要按下s1,如果产生机械抖动,就会把s2也打开,甚至打开s3(程序的运行速度太快)。在写中断服务程序程序的时候(如何开启和关闭中断服务程序我就忽略了),需要最后用语句控制关闭中断,在关闭中断的语句前面加一个延时缉龚光夹叱蝗癸伟含连语句,也就是说,当中断开启后必须要延时一定的时间才能结束中断程序,这个延时一般在500毫秒左右就可以了。这样做得好处就是,当按下按键1以后,需要按住500毫秒中断程序才能执行结束,s1才能打开,这样就能避免由于机械抖动所产生的不必要动作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为键抖动会引起一次按键被误读多次。
为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。
在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。
如果按键较多,常用软件方法去抖动,即检测出键闭合后执行一个延时程序,产生12~20 ms的延时,让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。
当确认有键按下或检测到按键释放后,才能转入该键的处理程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询