📄 debounce.vhd
字号:
--//**************************Copyright (c)***********************
--//** 广州周立功单片机发展有限公司
--//** 研 究 所
--//** 测控事业部
--//**
--//** http://www.zlgmcu.com
--//**
--//**-----------------文件信息-----------------------------------
--//**文 件 名:
--//**创 建 人: Xu hui quan (许惠泉)
--//**最后修改日期:
--//**描 述: 按键消抖模块
--//**
--//*------------------当前版本修订--------------------------------
--//** 修改人:
--//** 日 期:
--//** 描 述:
--//**
--//**------------------------------------------------------------
--//*************************************************************/
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_Arith.ALL;
USE IEEE.STD_LOGIC_Unsigned.ALL;
ENTITY debounce IS
GENERIC(KEY_WIDTH:Integer:=8);
PORT(
clk: IN STD_LOGIC; --系统时钟输入
key_in: IN STD_LOGIC_VECTOR(KEY_WIDTH-1 DOWNTO 0); --外部按键输入
key_out:OUT STD_LOGIC_VECTOR(KEY_WIDTH-1 DOWNTO 0) --按键消抖输出
);
END;
ARCHITECTURE one OF debounce IS
SIGNAL dout1,dout2,dout3:STD_LOGIC_VECTOR(KEY_WIDTH-1 DOWNTO 0);
BEGIN
key_out<=dout1 OR dout2 OR dout3;--按键消抖输出
PROCESS(clk)
BEGIN
IF RISING_EDGE(clk)THEN
dout1<=key_in;
dout2<=dout1;
dout3<=dout2;
END IF;
END PROCESS;
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -