debounce.vhd

来自「用vhdl语言实现对按键的消抖」· VHDL 代码 · 共 30 行

VHD
30
字号
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity debounce is
	port(key_pressed:in std_logic;
		clk:in std_logic;
		scan_f:in std_logic;
		key_valid:out std_logic);
end debounce;

architecture behavior of debounce is
begin
	debounce:process(clk,scan_f,key_pressed)
		variable dbnq:std_logic_vector(5 downto 0);
	begin
		if(key_pressed='1') then
			dbnq:="111111";
		elsif (clk'event and clk='1') then
			if scan_f='1' then
				if dbnq/=1 then
					dbnq:=dbnq-1;
				end if;
			end if;
		end if;
		if dbnq=2 then
			key_valid<='1';
		else key_valid<='0';
		end if;
	end process;
end behavior;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?