debounce.vhd

来自「这是一个键盘的消抖电路的代码 有兴趣的可以看看 我做了很长时间的」· VHDL 代码 · 共 34 行

VHD
34
字号
-----消抖电路,和前面的是不一样的,但是觉得没有前面的好,大家自己看看了
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.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 entity;
architecture behavior of debounce is
	begin
		process(clk,scan_f,key_pressed)
			variable dbnq: std_logic_vector(16 downto 0);
		begin
			if(key_pressed='1')then
				dbnq:="11111111111111111";
			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 architecture;
				

⌨️ 快捷键说明

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