按键去抖课程设计

上传人:hs****ma 文档编号:564692128 上传时间:2024-01-16 格式:DOCX 页数:12 大小:257.50KB
返回 下载 相关 举报
按键去抖课程设计_第1页
第1页 / 共12页
按键去抖课程设计_第2页
第2页 / 共12页
按键去抖课程设计_第3页
第3页 / 共12页
按键去抖课程设计_第4页
第4页 / 共12页
按键去抖课程设计_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《按键去抖课程设计》由会员分享,可在线阅读,更多相关《按键去抖课程设计(12页珍藏版)》请在金锄头文库上搜索。

1、目录摘 要 1第一章EDA技术简介2第二章按键去抖设计要求3第三章按键去抖分析3第四章 按键去抖设计方案4第五章按键去抖模块55.1 去抖动电路模块55.2 去抖动电路模块程序55.3 按键扫描模块75.4 按键扫描程序8第六章按键去抖的顶层原理图设计96.1 顶层原理图的源文件96.2 顶层原理图的时序仿真图10第七章学习心得11课程设计评分表 错误!未定义书签。摘要为了解决 FPGA/ CPLD 系统的按键抖动问题, 用 VH DL 语言有限状态机 的方法, 在 S0 状态下检测到有按键操作则转入延时状态 S1 ,延时结束后 , 用 状态 S2 , S3 , S4 对按键进行连续三次取样,

2、如果三次取样均为低电平, 则转入 状态S5并输出按键确认信号,否则,返回状态SO。电路经仿真分析,并下载到, EPM7128ATC100 芯片进行了验证, 能够确保每次按键操作 ,产生一次按键确认, 有很好的按键消抖效果, 性能稳定。主要创新点是用 VHDL 语言有限状态机设计 按键的消抖。关键词:按键消抖;电路仿真;VH DL;状态机第一章EDA技术简介随着电子技术和计算机技术的飞速发展,电子线路的设计工作也日益显 得重要。经过人工设计、制作实验板、调试再修改的多次循环才定型的传统 产品设计方法必然被计算机辅助设计所取代,因为这种费时费力又费资源的 设计调试方法既增加了产品开发的成本,又受到

3、实验工作场地及仪器设备的 限制。为了克服上述困难,加拿大 Interactive Image Technologies 公司推出的基 于 Windows 95 / 98 / NT 操作系统的 EDA 软件(Electronics Workbench “电 子工作台”,EWB)。他可以将不同类型的电路组合成混合电路进行仿真。 EWB 是用在计算机上作为电子线路设计模拟和仿真的新的软件包,是一个 具有很高实用价值的计算机辅助设计工具。目前已在电子工程设计等领域得 到了广泛地应用。与目前流行的电路仿真软件相比较,EWB具有界面直观、 操作方便等优点。他改变了有些电路仿真软件输入电路采用文本方式的不便

4、 之处,该软件在创建电路、选用元器件的测试仪器等均可以直接从屏幕图形 中选取,而且测试仪器的图形与实物外形基本相似,从而大大提高了电子设 计工作的效率。此外,从另一角度来看,随着计算机技术和集成电路技术的发展,现代 电子与电工设计,已经步入了电子设计自动化(EDA)的时代,采用虚拟仿 真的手段对电子产品进行前期工作的调试,已成为一种发展的必然趋势。通 过对实际电子线路的仿真分析,从而提高对电路的分析、设计和创新能力。第二章 按键去抖设计要求按键开关是电子设备实现人机对话的重要器件之一。由于大部分按键是机械 触点, 在触点闭合和断开时都会产生抖动。为避免抖动引起误动作造成系统的不 稳定,就要求消

5、除按键的抖动, 确保按键每按一次只做一次响应 1, 2 。随着可编 程逻辑器件的综合性能的不断提高 ,它已经象单片机一样, 广泛应用在各种数字 逻辑领域。用可编程逻辑器件直接获取键盘信息也得到广泛的应用。这里提出用 VHDL 语言编程的有限状态机的设计方法来实现按键的消抖 , 经仿真分析和下 载实现,这种方法设计的消抖电路能够很好地实现电路功能,进行快速按键时都能 保证每按一次做一次的响应, 且性能稳定。本课程设计的具体要求如下:(1) 设计一个 4 路独立键盘输入电路,读取键盘的键值并通过发光二极管 显示出来。(2) 输入为时钟信号 CLK(50MHz),按键状态 KEY1, KEY2, K

6、EY3, KEY4。(3) 输出为D1, D2, D3, D4。根据按键的状态控制发光二极管的亮灭。第三章 按键去抖分析按键消抖的关键是提取稳定的低电平(或高电平) 状态, 滤除按键稳定前后 的抖动脉冲。在用基于 VHDL 语言的时序逻辑电路设计按键消抖电路时, 可以 用一个时钟脉冲信号对按键状态进行取样,当第一次采样到低电平时,启动延时电 路,延时结束后,再对按键信号进行连续三次取样, 如果三次取样都为低电平,则可 以认为按键已经处在稳定状态, 这时输出一个低电平的按键确认信号,如果连续 三次的取样中, 至少有一次是高电平,则认为按键仍处在抖动状态, 此时不进行 按键确认,按键输出信号为高电

7、平。第四章 按键去抖设计方案按键消抖一般采用硬件和软件消抖两种方法。硬件消抖是利用电路滤波的原 理实现,软件消抖是通过按键延时来实现。在微机系统中一般都采用软件延时的 消抖方法。在用可编程逻辑器件 FPGA/ CPLD 设计数字系统中 , 也可以用 VHDL 语言设计相应的时序和逻辑电路 ,对按键信号进行处理 ,同样可以达到消 抖目的。本文利用Altera公司的可编程逻辑器件CPLD和Quartus,设计性能可靠 的按键消抖电路。该控制电路采用 VH DL 语言的有限状态机的设计法来描述和实现, 其状态 转换图如图1 所示。Delay cnd=lin=DDelay end-C竺叩 Key in

8、=OKey conflrm-1 ( S5图 1 按键去状态转换图监鸽_in= IFles=OKGy_in JKov iti1电路的复位信号 Reset 有效时,电路进入复位状态 S0 ,在 S0 状态下时钟信 号CLK以一定的频率采样按键输入信号Key in,如果采样到Key in= 1贝M亭 留在 S0 状态,并继续采样按键输入信号的状态,一旦采样到输入信号是低电平,即 Key in= 0 ,贝转入 S1 延时状态,进行消抖延时,当延时结束时 Delay end= 1 贝转入在 S2 状态,在此状态下时钟信号 CLK 以一定频率采样按键输入 Key in 的状态,如果采样到Key in为高电

9、平即Key in= 1则转回状态SO,表示按键 仍处在抖动状态,如果采样到 Key in= 0 , 贝转入状态 S3 ; 状态 S3 , S4 的转 换过程和条件跟 S2 相同, 在 S4 状态下, 如果 Key in= O 贝转入 S5 状态, 当到达状态S5时,表示经过S2 , S3 , S4三个连续状态检测按键输入Key in的状态都为 0 ,则认为按键处在稳定状态, 并在 S5 输出按键确认信号 Key conf i rm= 1 。同时在状态 S5 下时钟信号 CLK 检测按键输入状态,当检测到按键 输入Key in= 0,表示按键仍未释放,则停留在S5继续检测按键输入信号状态,如果检

10、测到Key in= 1 ,表示按键已经释放,则转回状态SO,等待下一次 按键操作。第五章 按键去抖模块5.1 去抖动电路模块debounceelk:时钟,reset:复位信号,din:按键信号输入,dout:按键去抖动信号输 出。由于按键抖动的时间一般为5到1 Oms,因此输入时钟elk使用200Hz时钟脉 冲(周期为5ms),即5ms采样一次按键信号,当连续两次采样到的按键信号都 为低电平时,认为按键稳定的按下。在按键稳定按下后,采样到按键为高电平时, 认为按键释放5.2 去抖动电路模块程序library ieee;use ieee.std_logie_1164.all;use ieee.s

11、td_logie_unsigned.all;use ieee.std_logie_arith.all;entity debounee isport(elk,reset:IN std_logie;din: IN std_logic;dout: OUT std_logic);end debounce;architecture a of debounce is type state is (s0,s1,s2); signal current: state;begin process(clk,reset,din) begin if(reset=1) then current = s0;dout dou

12、t = 1;if(din=0) thencurrent =s1;elsecurrent dout =1;if(din=0) thencurrent = s2;elsecurrent dout =0;if(din=0) thencurrent = s2;elsecurrent dout =1;current CiOULt c O f C(a n= - O - J istien 匸匸=X1 匸v=yC=UE-K-Mi.1C =SO J:已nd iw FB.e: n. d 匕 Iiwuh A duu 七V= h 1 1 ;UlLlZEWn匸C SO Je XL1 GT LS e #第六章 按键去抖的

13、顶层原理图设计6.1 顶层原理图的源文件6.2 顶层原理图的时序仿真图消抖电路的仿真图如上图所示。当复位信号 Reset= 0 时, 状态机 Key 处 在 S0 状态, 同时以 CLK 的时钟频率采样按键输入信号 Din 的状态 , 当 CLK 第一次采样到Din为低电平时,此时可能发生了按键操作,随即状态机Key进入S1 消抖延时状态,当延时结束时 delay end= 1 (延时结束信号) ,跟接着状态机 KEY 的 S2 , S3 , S4 连续三个状态对按键输入信号 Din 进行采样,当三个状态下 采样到 Din 信号都是低电平 , 则转入 S5 状态,并产生按键确认信号 Key conf irm= 1 ,同时在 S5 状态下等待按键释放, 在此状态下

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号