- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vhdl按键消抖程序一:延时性消抖
在本例子中,input是按键的输入,output是消抖之后的按键输出
是clk经历8个上升沿之后就让output输出一个CLK周期的高电平
library ieee;
use ieee.std_logic_1164.all;
entity PWlock is
port(clk: in std_logic;
input: in std_logic;
output: out std_logic
);
end PWlock;
architecture one of PWlock is
signal a:std_logic;
signal count:integer range 0 to 9;
begin
process(clk)
begin
if input=‘0’ then
count=0;
elsif (clk‘event and clk=’1‘) then
if count=9 then
count=count;
else
count=count+1;
end if;
end if; -
if count=8 then
a=’0‘;
else
a=’1‘;
end if;
end process;
output=a;
end one;
vhdl按键消抖程序二
一般按键延时在20ms左右,根据时钟频率决定你的计数范围。程序非常简单,但经常用到,对于FPGA初学者要好好学习这部分。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity reseter is
port(clk,reset_in:in std_logic; --按键按下时为0
reset_out:out std_logic:=‘0’);
end reseter;
architecture behav of reseter is
begin
PROCESS(clk,reset_in)
VARIABLE COUNT1 :INTEGER RANGE 0 TO 100000;
BEGIN
IF reset_in=‘0’ THEN
IF RISING_EDGE(clk) THEN
IF COUNT110000 THEN COUNT1:=COUNT1+1;
ELSE COUNT1:=COUNT1; END IF;
IF COUNT1=9999 THEN reset_out=‘1’;
ELSE reset_out=‘0’; END IF;
END IF;
ELSE COUNT1:=0;
reset_out=‘1’;
END IF;
END PROCESS ;
end behav;
vhdl按键消抖程序三:计数器型消抖电路(一)
计数器型消抖电路是设置一个模值为(N+1)的控制计数器,clk在上升沿时,如果按键开关key_in=‘1’,计数器加1,key_in=‘0’时,计数器清零。当计数器值为2时,key_out输出才为1,其他值为0时。计数器值为N时处于保持状态。因此按键key_in持续时间大于N个clk时钟周期时,计数器输出一个单脉冲,否则没有脉冲输出。如果按键开关抖动产生的毛刺宽度小于N个时钟周期,因而毛刺作用不可能使计数器有输出,防抖动目的得以实现。clk的时钟周期与N的值可以根据按键抖动时间由设计者自行设定。
主要程序结构如下:
if(clk’event and clk=’1’)then
if(key_in=’1’)then
if count=N then
count=count;
else count=count+1;
end if;
end if;
else count=0;
end if;
vhdl按键消抖程序四:计数器型消抖电路(二)
计数器型消抖电路(二)是控制计数器工作一个循环周期(N+1个状态),且仅在计数器为0时输出为“1”。电路设计了连锁控制设施。在计数器处于状态0时,此时若有按键操作,则计数器进入状态1,同时输出单脉冲(其宽度等于时钟周期)。计数器处于其他状态,都没有单脉冲输出。计数器处于状态N时,控制en=‘0’,导致计数器退出状态N,进入状态0。计数器能否保持状态0,取决于人工按键操作,若按键key_in=‘1’,控制en=‘1’(计数器能正常工作),key_in=‘0’,计数器状态保持。显见计数器处于状态0,人工不按键,则计数器保持状态0。
主要程序结构如下:
if count=N then
count=0;
else count=count+1;
end if;
if count=0 then
key_out=’0’;
end if;
end if
end process;
B:pro
您可能关注的文档
- VC5509A定时器使用实验报告 DSP.pdf
- Vc银翘片片剂工厂车间设计设计任务书.doc
- VD4真空断路器操作手册.pdf
- VD4真空断路器使用说明书.doc
- VD5026组成的红外线多路遥控器发射电路.doc
- VDA6.3 training 过程审核培训.pdf
- VDA6.3(2016)_过程审核提问表.pdf
- vector nti 11 使用教程 第六章_限制切位分析.pdf
- verbnet研箸小组研究报告.doc
- Verilog HDL 有哪些主要特点.doc
- 2024年江西省寻乌县九上数学开学复习检测模拟试题【含答案】.doc
- 2024年江西省省宜春市袁州区数学九上开学学业水平测试模拟试题【含答案】.doc
- 《GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语》.pdf
- 中国国家标准 GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语.pdf
- GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- 《GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构》.pdf
- 中国国家标准 GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 中国国家标准 GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 《GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南》.pdf
文档评论(0)