⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scan.vhd

📁 maxplus2为开发环境 vhdl编写的 扫描 程序
💻 VHD
字号:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL ;
USE IEEE.STD_LOGIC_UNSIGNED.ALL ;

ENTITY scan IS
	PORT (  
			CLK      : IN STD_LOGIC ;                        --system original clock
	        Q_OUT     : OUT STD_LOGIC_VECTOR(19 DOWNTO 0);    --count result of "clk"
			CNT_OUT  : OUT STD_LOGIC_VECTOR (1 downto 0);    --keyboard scan about 16Hz
			CLK_SCAN : OUT STD_LOGIC_VECTOR (3 downto 0)     --keyboard scan sque.
		); 
END scan ; 

ARCHITECTURE a OF scan IS
	Signal  Q    : STD_LOGIC_VECTOR(19 DOWNTO 0);           	
 	Signal 	CNT, S : STD_LOGIC_VECTOR(1 DOWNTO 0);  --keyboard scan about 15Hz ***
	SIGNAL 	SEL   : STD_LOGIC_VECTOR (3 downto 0);
Begin
	
	PROCESS (Clk)				       
	Begin
		IF CLK'Event AND CLK='1' then
			Q <= Q+1;
--			CNT <= Q(18 DOWNTO 17) ;	-- about 15Hz  61/4=15	
			CNT <= Q(4 DOWNTO 3) ;	    -- ***
		END IF;
	END PROCESS;
									     
			SEL <= 	"1110" WHEN S=0 ELSE
					"1101" WHEN S=1 ELSE
					"1011" WHEN S=2 ELSE
					"0111" WHEN S=3 ELSE
					"1111";

	S <= CNT ;        -- *** 
	CNT_OUT <= CNT ;  -- *** 
	Q_OUT <= Q ;   
	CLK_SCAN <= SEL ;
 
END a ;

⌨️ 快捷键说明

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