差别
这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
7._按键消抖 [2017/03/05 22:19] zhijun 创建 |
— (当前版本) | ||
---|---|---|---|
行 1: | 行 1: | ||
- | =====按键消抖===== | ||
- | 在之前的实验中我们学习了如何用按键作为FPGA的输入控制,在本实验中将学习如何进行按键消抖,用按键完成更多的功能。 | ||
- | \\ | ||
- | ====硬件说明==== | ||
- | ------- | ||
- | 按键是一种常用的电子开关,电子设计中不可缺少的输入设备。当按下时使开关导通,松开时则开关断开,内部结构是靠金属弹片来实现通断。 | ||
- | \\ | ||
- | | ||
- | **按键抖动的原理** | ||
- | \\ | ||
- | {{ :抖动原理.png |抖动原理}} | ||
- | |||
- | - 抖动的产生 :通常的按键所用的开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。 | ||
- | - 消除抖动的措施:一般我们采用软件方法消抖。即检测到按键按下动作之后进行10ms~20ms左右的延时,当前沿的抖动消失之后再一次检测按键的状态。如果仍然是按下的电平状态,则认为这是一次真正的按键按下;同样检测到按键释放,也要做10ms~20ms延时,检测到后沿抖动消失后认为是一个完整的按键弹起过程。 | ||
- | - 消抖的好处:执行按键消抖有两个好处, | ||
- | - 消除误触发:我们想通过按键来翻转信号(例如按下一次led亮,在按一次led灭),如果没有进行消抖,则会产生很多误触发造成不必要的翻转。 | ||
- | - 记录按键次数:执行按键消抖可以让我们记录按键动作的次数,在很多应用里这非常有用。 | ||
- | |||
- | \\ | ||
- | 在[[1. 点亮LED|点亮LED]]实验中我们知道了小脚丫板子上按键的设计,当按键未被按下时,连接到FPGA管脚认为是高电平;当按键被按下时,连接到FPGA管脚认为是低电平。 | ||
- | |||
- | \\ | ||