按键在按下的过程中通常会产生一段时间的抖动.docx_第1页
按键在按下的过程中通常会产生一段时间的抖动.docx_第2页
按键在按下的过程中通常会产生一段时间的抖动.docx_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

按键在按下的过程中通常会产生一段时间的抖动,为了消除这种抖动,一般采取两种方法。一种为硬件消抖,另一种为软件消抖。硬件消抖是利用了RS锁存器的相关原理。如下图所示,开关在B处时,5处为低电平,1处为高电平。根据与非门“有零出一”的特点,6处为高电平,即2处为高电平。所以此时3处为低电平。当开关从B拨到A时,5处变为高电平,一旦1处出现低电平,输出将一直为高电平。(读者不妨自己假设一下)。开关在A处时,情况类似。软件消抖主要是通过延时跳过按键抖动的阶段,检测稳定阶段的情况。下面是代码。library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity sw_debounce_module is Port ( clk: in STD_LOGIC; rst: in STD_LOGIC; switch : in STD_LOGIC_VECTOR (1 downto 0); led : out STD_LOGIC_VECTOR (1 downto 0);end sw_debounce_module;architecture Behavioral of sw_debounce_module issignal tmp : STD_LOGIC_VECTOR (1 downto 0);signal cnt : INTEGER range 0 to 1000000;constant max : INTEGER :=500000;begin process(clk,rst,switch(1),switch(0) begin if(rst = 1) then tmp(1 downto 0)=00; cnt = 0; else if(switch(0)=1)then if(cnt max and clk=1)then cnt =cnt+1; elsif(cnt = max) then cnt = 0; end if; if(switch(0)=1)then tmp(0)=not tmp(0); end if; end if; if(switch(1)=1)then if(cnt max and clk=1) then cnt=cnt+1; elsif(cnt = max) then cnt = 0; end if; if(switch(1)=1)then tmp(1)=not tmp(1); end if; end if; end if;end process;led(1 downto 0)=tmp(1 downto 0);end Behavioral;由于时钟频率为50MHZ,延时500000周期即为10ms。为了将程序中的管脚映射到BASYS2开发板上,我们需要建立一个UCF约束文件下面是约束文件NET rst LOC = P11;NET clk LOC = B8;NET switch LOC = A7;NET switch LOC = M4;NET led LOC = G1;NET led LOC = P4;依次运行Synthesize -XST,Implement Design和Genetate Programming File。生成可烧录文件。打开Digilent Adept,有两个选项,第一个为掉电即清除;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论