什么是机械按键的抖动给出
⑴ 机械式键盘的抖动
问题描述的不细致,没太明白你的意思,如果是指键帽按下后不稳而抖动,看下内面。
原因:你知道MX轴体都是容十字柱,每颗键帽也是十字轴心,原因就出在这上面,十字轴心在键帽的最中间,而键帽的四壁是无支撑的,这就导致了按到底后会不稳。
解决办法:给每颗键帽下面加橡胶圈,某宝有卖,但只能轻微解决,而且会改变手感。
⑵ 机械式按键的抖动时间一般为多少
问题描述的不细致,没太明白你的意思,如果是指键帽按下后不稳而抖动,看下面。
原因:你知道MX轴体都是十字柱,每颗键帽也是十字轴心,原因就出在这上面,十字轴心在键帽的最中间,而键帽的四壁是无支撑的,这就导致了按到底后会不稳。
解决办法:给每颗键帽下面加橡胶圈,某宝有卖,但只能轻微解决,而且会改变手感。
⑶ 为什么有消除按键的机械抖动
有消除按抄键的机械抖动的原因:
通常的按键所用开关为机械弹性开关。由于机械触电的弹性作用,按键在闭合及断开的瞬间均伴随有一连串的抖动。键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅作一次处理,必须去除抖动。
消除抖动的方法有硬件和软件两种方法。硬件方法常用RS触发器电路。软件方法是当检测出键闭合后执行一个10ms~20ms的延时程序,再一次检测键的状态,如仍保持闭合状态,则确认真正有键按下。
⑷ 为什么有消除按键的机械抖动消除按键抖动的方法有几种
有消除来按键的机械抖动的原因自:
通常的按键所用开关为机械弹性开关。由于机械触电的弹性作用,按键在闭合及断开的瞬间均伴随有一连串的抖动。键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅作一次处理,必须去除抖动。
消除抖动的方法有硬件和软件两种方法。硬件方法常用RS触发器电路。软件方法是当检测出键闭合后执行一个10ms~20ms的延时程序,再一次检测键的状态,如仍保持闭合状态,则确认真正有键按下。
⑸ 常用的按键消抖方法有哪些分别用什么方法来实现
按键的消抖,可用硬件或软件两种方法。
1、硬件消抖
在键数较少时可用硬件方法消除键抖动。硬件消抖的典型做法是:采用R-S触发器或RC积分电路。
双稳态消抖
电路的工作过程如下:当按键未按下时,a=0,b=1,输出A=1,B=0。当按键按下时,按键的机械弹性作用使按键产生前沿抖动。当释放按键时,按键的机械弹性作用使按键产生后沿抖动。
滤波消抖
电路的工作过程如下:当按键未按下时,电容C两端的电压为V,非门输出为1。当按键按下时,由于电容C两端的电压不能突变,因此即使在接触过程中出现抖动,只要C两端的充电电压波动不超过非门的开启电压(TTL为0.8V左右),非门的输出就不会改变(可通过选取合适的R1、R2和C的值来实现)。
当按键断开时,即使出现抖动,由于C两端的电压不能突变(它要经过R2放电),因此只要C两端的放电电压波动不超过非门的关闭电压,非门的输出就不会改变所以,RC电路滤波消抖成败的关键在于R1、R2和C时间常数的选取。
必须保证C由稳态电压充电到开启电压或放电到关闭电压的延迟时间大于或等于10ms。参数的数值可由计算或实验确定,图中的参数仅供参考。若釆用输入端有施密特触发特性的门电路,则效果更好。
2、软件消抖
实现方法:假设未按键时输入1,按键后输入为0,抖动时不定。可以做以下检测:检测到按键输入为0之后,延时5ms~10ms,再次检测,如果按键还为0,那么就认为有按键输入。
延时的5ms~10ms恰好避开了抖动期,从而消除了前沿抖动的影响同理,在检测到按键释放后,再延时5~10ms,消除后沿抖动,然后再对键值进行处理。不过一般情况下,我们通常不对按键释放的后沿进行处理,实践证明,这样也能满足一定的要求。
(5)什么是机械按键的抖动给出扩展阅读
在机械按键的触点闭合和断开时,都会产生抖动,为了保证系统能正确识别按键的开关,就必须对按键的抖动进行处理。
按键的抖动对于人类来说是感觉不到的,但对单片机来说,则是完全可以感应到的,而且还是一个很“漫长”的过程,因为单片机处理的速度在“微秒”级,而按键抖动的时间至少在“毫秒”级。
单片机如果在触点抖动期间检测按键的通断状态,则可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,从而引起误处理。因此,为了确保单片机对一次按键动作只作—次响应,就必须考虑如何消除按键抖动的影响。
⑹ 为什么要消除键盘的机械抖动
键抖动会引起一抄次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。如果按键较多,常用软件方法去抖动,即检测出键闭合后执行一个延时程序,产生12~20 ms的延时,让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当确认有键按下或检测到按键释放后,才能转入该键的处理程序。
⑺ 按键及键盘与CPU接口存在着去抖动的问题,为什么要消除按键及键盘的机械抖动常采用什么方法消除抖动
按键的机械抖动,我举例说明一下,例如,按键1是连接一个带外部中断的端口,控制开关回S1到SN的开启,当你需答要开启S1的时候,你只需要按下S1,如果产生机械抖动,就会把S2也打开,甚至打开S3(程序的运行速度太快)。在写中断服务程序程序的时候(如何开启和关闭中断服务程序我就忽略了),需要最后用语句控制关闭中断,在关闭中断的语句前面加一个延时语句,也就是说,当中断开启后必须要延时一定的时间才能结束中断程序,这个延时一般在500毫秒左右就可以了。这样做得好处就是,当按下按键1以后,需要按住500毫秒中断程序才能执行结束,S1才能打开,这样就能避免由于机械抖动所产生的不必要动作。
⑻ 为什么要消除按键的机械抖动
如没有按键消除抖动的处理,有可能一次按键会输入N次,在软件上通常采用延时输入的方法消除抖动。
⑼ 机械键盘为什么做防抖处理
防抖动是电路特性需要 按键按下触发电平会有些许起伏 也就是抖动 时间短 但是如果不管会出现误触发 影响使用
⑽ 单片机的按键开关抖动的产生原因,抖动的特点和如何消除抖动
开关按钮在按下时,表面上只按了一下,但信号的传导并不是单纯的由1直接跳到0。这是由于机械触点断开/闭合时会有抖动,信号如图示会在HIGH和LOW之间抖动。这种抖动对人来说是感觉不到的,但对单片机来说,则是完全可以感应到的。
当按钮被按下时,你所期待的效果应该是:111111111000000000…,
而事与愿违,单片机读到的信号可能会是:111110110110000000…,
这中间连续的1和0过渡处,短暂的几个随机交错出现的01就是我们不期望产生的抖动,虽然我们只按了一下按钮,可能会被电路误读成按了好几下按钮,而给人的感觉就是有时候按钮会不灵。消抖的目的就是为了要除去信号在高低电位之间弹跳所造成的不正确输入,就是交错出现的01那段,一般抖动持续的时间是3-10毫秒。所以简单的去抖动操作,只要在这段抖动出现的时间跨度两端进行两次按钮状态检测即可:
假设放开按钮信号为1,按下为0,
那么当首次检测到按钮为0,过10ms再次检测,若依然为0,按钮按下有效;若为1,说明为抖动,去除。
更可靠,更灵敏的消抖做法为:
首次检测到按钮为0后,以后的3-5ms持续检测,若检测到信号一直为0,则按钮有效,若中间有一次不为0,时间清0,重新计时,直到连续3-5ms按钮信号一直为0,方为有效。(补充一下,持续检测的意思,并不是让你把全部的CPU时间全部花在这上面,否则这几ms时间内单片机相当于死机了,影响其它进程,而是间隔性地采样一下,比如5ms之内检测10次,10次全为0有效,其它时间CPU当然去处理别的事务)
至于按钮的连按和单按、双按,多按钮同时生效等更复杂的功能,可借助其它的标志位实现。