📄 按键去抖.txt
字号:
library ieee; -- 基于计数法的(4×4矩阵键盘)键盘防抖电路程序
use ieee.std_logic_1164.all;
entity antitwritter is
port(clock:in std_logic;
num_in:in integer range 0 to 15;
num_out:out integer range 0 to 15);
end entity;
architecture behavior of antitwritter is
signal temp_num,counter:integer range 0 to 15; --按键的输入输出信息
signal start:std_logic;
begin
process(clock)
begin
if clock'event and clock='1' then
if start='0' then --上电后立即对输出的键值赋予无效值
temp_num<=15; --将15作为无效值
num_out<=15; --此无效值视实际情况而定
start<='1';
else
if num_in=temp_num then --上一键值与此键值不同
temp_num<=num_in; --记录此键值
counter<=0; --并对计数器清零,准备对此键值计时
else
if counter=31 then --当键值保持31 个时钟周期不变时
num_out<=num_in;--即确认为有效值,并输出
counter<=0;
else
counter<=counter+1;
end if;
end if;
end if;
end if;
end process;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -