第十章综合设计实例1 键盘扫描与显示 矩阵式键盘: 行, 列 矩阵是键盘以行列形式排列 ,键盘上每个按键其实是一 个开关电路,当某键被按下 时,该按键对应的位置就呈 现逻辑0 状态. 行扫描方式: 逐行送0 电平, 读取列的状态, 以判断按下的键号. 列扫描方式: 逐列送0 电平, 读取行的状态, 以判断按下的键号.以行扫描为例: 1 给行依次送0111,1011,1101,1110 信号; 2 读取列电平状态,数码管显示 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity key_scan is port(column:in std_logic_vector(3 downto 0); - 列状态 scan_cnt:in std_logic_vector(3 downto 0);- 扫描字 row:out std_logic_vector(3 downto 0);- 行状态 key_pressed:out std_logic);- 按键有效与否, 后续判断为零则为有键按 下