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

📄 key_decode.vhd

📁 VHDL基础的编程源代码
💻 VHD
字号:
--/*****************************************************************************
-- * 源文件:	key_decode.vhd
-- * 模块:   	键盘译码
-- * 版权:
-- *         	Copyright(C) 北京联华众科科技有限公司
-- *						www.lianhua-zhongke.com.cn
-- * 版本:  	Version 1.0
-- * 
-- * 功能说明:
-- *		   	将扫描读到的按键 8 位按键码转换为 4 位的按键值。
-- *			
-- * 参数说明:
-- *	       	输出
-- *			key - 4 位的按键值
-- *
-- *			输入
-- *			key_data - 8位按键码
-- *			reset - 复位信号,低电平有效
-- *
-- *			参数
-- *
-- * 变更记录: 
-- *         2006.01.28, 新建
-- *
-- *****************************************************************************/
LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;ENTITY key_decode IS	PORT	(		key			: OUT	STD_LOGIC_VECTOR(3 DOWNTO 0);				key_data	: IN	STD_LOGIC_VECTOR(7 DOWNTO 0);		reset		: IN	STD_LOGIC	);END key_decode;ARCHITECTURE key_decode_architecture OF key_decode IS	BEGIN	PROCESS(key_data, reset)	BEGIN				IF (reset = '0') THEN			key <= "0000";		ELSE			CASE NOT key_data IS				WHEN "00010001" => key <= "0000";				WHEN "00010010" => key <= "0001";				WHEN "00010100" => key <= "0010";				WHEN "00011000" => key <= "0011";				WHEN "00100001" => key <= "0100";				WHEN "00100010" => key <= "0101";				WHEN "00100100" => key <= "0110";				WHEN "00101000" => key <= "0111";				WHEN "01000001" => key <= "1000";				WHEN "01000010" => key <= "1001";				WHEN "01000100" => key <= "1010";				WHEN "01001000" => key <= "1011";				WHEN "10000001" => key <= "1100";				WHEN "10000010" => key <= "1101";				WHEN "10000100" => key <= "1110";				WHEN "10001000" => key <= "1111";				WHEN OTHERS => key <= "0000";			END CASE;					END IF;			END PROCESS;END key_decode_architecture;

⌨️ 快捷键说明

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