按键去抖设计

按键去抖设计

ID:863662

大小:305.53 KB

页数:12页

时间:2017-09-21

按键去抖设计_第1页
按键去抖设计_第2页
按键去抖设计_第3页
按键去抖设计_第4页
按键去抖设计_第5页
资源描述:

《按键去抖设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、按键去抖设计姓名:学号:专业:班级:指导教师:2012年11月09日目录一、实验目的--------------------------------------------1二、实验平台-----------------------------1三、设计要求-----------------------------11、设计原理---------------------------------1四、设计方案-----------------------------11、键盘分类----------------------

2、---------12、设计方法-------------------------------23、去抖动电路模块--------------------------------3五、去抖动电路VHDL程序------------------------5六、实验结果--------------------------------------------61、Verilog结构图---------------------------62、时序仿真图-------------------------------63、功能仿

3、真图-------------------------------7七、心得体会------------------------------------8八、参考文献------------------------------------9实验题目:按键去抖设计一、实验目的1、学习基于VHDL描述状态机的方法;2、学习VHDL语言的规范化编程,学习按键去抖动的原理方法。二、实验平台微机一台(WindowsXP系统、安装QuartusⅡ等相关软件)三、设计要求1、设计原理:机械式轻触按键是常用的一种外围器件,由于机械原因导

4、致的抖动会使得按键输入出现毛刺。滤除前沿和后延抖动毛刺,提取稳定的按键信息。四设计方案1、键盘分类键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为非编码键盘。在单片机组成的各种系统中,用的最多的是非编码键盘。也有用到编码键盘的。非编码键盘有分为:独立键盘和行列式(又称为矩阵式)键盘。按键在闭合和断开时,触点会存在抖动现象: 2、设计方法:对一个按键信号,对它进行取样,如果连续两次取样都为低电平,则认为信号已经处于稳定状态,这时

5、输出一个低电平的按键信号。否则只要有一次取样不为低电平,则认为是抖动,将其丢弃。可以用一个状态机来设计这个去抖电路。x/y:表示输入和输出。‘/’左侧的为输入信号,‘/’右侧的为输出信号。当按键按下时,为低电平。按键松开后为高电平。3、去抖动电路模块注:由于按键抖动的时间一般为5到10ms,因此输入时钟clk使用200Hz时钟脉冲(周期为5ms),即5ms采样一次按键信号,当连续两次采样到的按键信号都为低电平时,认为按键稳定的按下。在按键稳定按下后,采样到按键为高电平时,认为按键释放。五、去抖动电路VHDL程序libra

6、ryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitydebounceisport(clk,reset:INstd_logic;din:INstd_logic;dout:OUTstd_logic);enddebounce;architectureaofdebounceistypestateis(s0,s1,s2);signalcurrent:state;beginprocess(

7、clk,reset,din)beginif(reset='1')thencurrent<=s0;dout<='1';elsif(clk'eventandclk='1')thencasecurrentiswhens0=>dout<='1';if(din='0')thencurrent<=s1;elsecurrent<=s0;endif;whens1=>dout<='1';if(din='0')thencurrent<=s2;elsecurrent<=s0;endif;whens2=>dout<='0';if(din='0'

8、)thencurrent<=s2;elsecurrent<=s0;endif;whenothers=>dout<='1';current<=s0;endcase;endif;endprocess;enda;六、实验结果1、Verilog结构图2、时序仿真图1、功能仿真图七、心得体会通过此次课程设计,使我更加扎实的掌握

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。