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

 我来答
fzh394l
推荐于2019-09-09 · TA获得超过1.1万个赞
知道小有建树答主
回答量:115
采纳率:100%
帮助的人:2.7万
展开全部

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

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

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

锁香芹夙忻
2020-02-26 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:560万
展开全部
按键的机械抖动,我举例说明一下,例如,按键1是连接一个带外部中断的端口,控制开关s1到sn的开启,当你需要开启s1的时候,你只需要按下s1,如果产生机械抖动,就会把s2也打开,甚至打开s3(程序的运行速度太快)。在写中断服务程序程序的时候(如何开启和关闭中断服务程序我就忽略了),需要最后用语句控制关闭中断,在关闭中断的语句前面加一个延时缉龚光夹叱蝗癸伟含连语句,也就是说,当中断开启后必须要延时一定的时间才能结束中断程序,这个延时一般在500毫秒左右就可以了。这样做得好处就是,当按下按键1以后,需要按住500毫秒中断程序才能执行结束,s1才能打开,这样就能避免由于机械抖动所产生的不必要动作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
甜橘儿
2018-01-18 · TA获得超过1.1万个赞
知道小有建树答主
回答量:71
采纳率:100%
帮助的人:1.1万
展开全部

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

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

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

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

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式