实验05按键消抖(共4页).doc
《实验05按键消抖(共4页).doc》由会员分享,可在线阅读,更多相关《实验05按键消抖(共4页).doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验五 按键消抖一. 实验目的1. 掌握QuartusII的硬件描述语言设计方法2. 了解同步计数器的原理及应用3. 设计一个带使能输入、进位输出及同步清零的增1四位N (N16)进制同步计数器二. 准备知识在按键使用的过程中,常常遇到按键抖动的问题,开关在闭合(断开)的瞬间,不能一接触就一直保持导通(断开),因为开关的机械特性,重要经历接触断开再接触再断开,最终稳定在接触位置,这就是开关的抖动,即虽然只是按下按键一次然后放掉,结果在按键信号稳定前后,竟出现了一些不该存在的噪声,这样就会引起电路的误动作。在很多应用按键的场合,要求具有消抖措施。按键抖动与开关的机械特性
2、有关,其抖动期一般为5-10ms。图5.1 按键电平抖动示意图按键的消除抖动分为硬件消除抖动和软件消除抖动。硬件消除抖动一般采用滤波的方法,通常在按键两端并联一个110u左右的电容,有时这样也不能完全消除按键的抖动。软件消除抖动的方法有多种,常用的是延时扫描和定时器扫描。延时扫描其原理为:检测到按键操作后延时一端时间(如10ms)后,再检测是否为仍然为同样的按键操作状态,如果相同,就认为是进行了按键操作,然后对该操作进行相应的处理。定时器扫描的原理是:每隔一端时间(几毫秒)扫描一次键盘,如果连续两次(或3次)的所获得的按键状态相同,就输出按键状态,然后再对这种按键状态进行处理,这里的扫描时间间
3、隔和连续判断按键状态的次数是有关系的,一般总时间要大于按键的抖动期。如果总时间太长,则感觉按键迟钝,太短可能不能完全消除抖动,要根据实际的情况合适的选择。在实际电路设计中,经常采用的是软硬件相结合对按键进行消除抖动的处理方法。本实验采用的方法:实验箱按键的硬件电路是共阳极电路,按下按键时输出到FPGA管脚的电平为低电平,松开按键时为高电平。我们采用5ms的定时器扫描FPGA管脚电平,如果连续3次为低电平时,存储连续按键状态的次数CNT的值加1,直到该计数值等于10(或再大一些),就不再累加(防止长按该值溢出而重新计数),此时认为按键已稳定,输出按键操作标志;在该过程中,一旦FPGA管脚电平为低
4、电平就对CNT复位清零并同时对按键操作标志位复位,即一个异步复位。本实验采用的方法:实验箱按键的硬件电路是共阳极电路,按下按键时输出到FPGA管脚的电平为低电平,松开按键时为高电平。我们采用5ms的定时器扫描采样FPGA管脚电平,如果连续3次为低电平时,可以认为此时按键已稳定,输出一个低电平按键信号;继续采样的过程中如果不能满足连续3次采样为低,则认为键稳定状态结束,这时输出变为高电平(连线3次采用信号相“或”),认为按键松开。其原理图如图5.2所示。时间间隔可以更小、采样次数更多效果可能会更好,但是增加了硬件的复杂度和资源利用。图5.2 按键抖动硬件原理图本实验的思路为:用按键消抖与不消抖的
5、信号,分别当作时钟信号触发16进制计数器,计数结果用数码管静态显示,比较按键消抖与不消抖的区别。三. 实验步骤1、 新建工程antiwobble新建文件夹,并在该文件夹下新建工程。2、 编写硬件描述语言文件将图3.2所示的电路用语言描述出来,并扩展多个通道(多路按键输入,多路消抖信号输出)。文件名为debounce,并封装生成模块符号文件。编写16进制计数器文件CNT16,并封装生成模块符号文件,或添加兆功能计数器模块实现16进制的计数器。编写译码电路文件DECODE7,并封装生成模块符号文件。添加计数器分频模块DIV200Hz,我们需要周期为5ms的时钟信号,故分频次数。最后生成顶层原理图文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 05 按键
限制150内