哈喽!相信很多朋友都对为什么要按键延时消抖不太了解吧,所以小编今天就进行详细解释,还有几点拓展内容,希望能给你一定的启发,让我们现在开始吧!
为什么在按键扫描时需要按键消抖
看你的按键程序是什么原理罗,一般情况下是属于定时扫描那种,那你每检测到有按键动作就延时几个毫秒再读一次键盘,如果结果和上次一样,则承认按键已被按下,否则忽略,判断按键松开也是这原理。
不仅仅AT89C51单片机,任何按键的判定都需要做去抖处理,这是为了防止干扰信号对按键的影响,也为了去掉一些误动作对正确信号的影响。
消抖是为了避免在按键按下或是抬起时电平剧烈抖动带来的影响。按键的消抖,可用硬件或软件两种方法。
单片机什么时候需要对按键进行消抖
1、从机械按键的结构来看,在机械按键接触的瞬间,会出现接触或者是没有接触的情况。在机械按键老化的时候,或者在其他干扰的情况下都会出现按键被误触发的情况。
2、抖动时间是由按键的机械特性决定的,一般都会在10ms以内,为了确保程序对按键的一次闭合或者一次断开只响应一次,必须进行按键的消抖处理。当检测到按键状态变化时,不是立即去响应动作,而是先等待闭合或断开稳定后再进行处理。
3、信息时 会判断错误,所有要去掉这种抖动因素,去抖 有 硬件 去抖 就是在 按键与单片机连接的 IO 口 加 消抖电容 。还有 用 软件 去抖 就是 在单片机 接收按键 信息时 多次 判断 相同 才确认 是 与 否。
4、按键消抖是为了防止按键输入被CPU误读多次,其为在设计单片机按键输入时采取的一种必要手段。
5、当按键断开时,即使出现抖动,由于C两端的电压不能突变(它要经过R2放电),因此只要C两端的放电电压波动不超过非门的关闭电压,非门的输出就不会改变所以,RC电路滤波消抖成败的关键在于RR2和C时间常数的选取。
键盘按键去抖越高越好吗
按键防抖延迟越低越好。按键防抖延迟是指按下键盘按键到电脑接收到相应按键信号之间的延迟时间。按键防抖延迟过高,会导致按键响应的延迟,影响游戏体验感。
不好。根据查询人人文库网显示,按键防抖延迟越低越好,延迟高会影响游戏体验感。防抖功能,最早推出防抖概念的是日本尼康公司。
ms~10ms合适。键盘按键去抖5ms~10ms合适。按键抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。
以上内容就是解答有关为什么要按键延时消抖的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。