文档详情

EDA课程设计--键盘扫描电路设计.doc

发布:2017-09-13约6.36千字共12页下载文档
文本预览下载声明
电子课程设计 —键盘扫描电路设计 学院: 班级: 姓名: 学号: 指导老师: 2009年12月 目 录 1.设计任务与要求…………………………………………… 1 2.功能模块…………………………………………………… 2 3.选择器件…………………………………………………… 3 4.功能模块…………………………………………………… 5 5.设计总体电路图…………………………………………… 8 6.心得体会………………………………………………… 10 设计任务与要求 1、键盘按钮数为4,系统时钟10MHz; 2、 能识别出所按按钮; 3、 按钮被按下后,视为此按钮输入一次,若按钮长时间不松,(时限1S)后每隔0.5S视为再次输入,直至按钮松开; 4、要求能对按钮按下时指令的抖动能正确处理。对持续时间小于50ms的输入不作响应; 5、各键设置不同优先级,多键同时按下时,视为优先级较高的按键被按下; 功能模块 图3 模块delta 其VHDL语言如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_unsigned.all; entity keyboard4_4 is port( rst : in std_logic; clk_in : in std_logic; keyin : in std_logic_vector(3 downto 0); scan : out std_logic_vector(3 downto 0); leds : out std_logic_vector(3 downto 0); state : out std_logic; VGA : out std_logic_vector(3 downto 0) ); end keyboard4_4; architecture keyboard4_4_arch of keyboard4_4 is -- --********************************************* component debouncing port( key : IN STD_LOGIC ; clk,clr : IN STD_LOGIC ; dly_out : OUT STD_LOGIC ) ; end component ; --********************************************* -- signal clkfrq : std_logic; signal cntscn : std_logic_vector(1 downto 0); signal scnlin : std_logic_vector(3 downto 0); signal cntfrq : std_logic_vector(14 downto 0); --signal cntfrq : std_logic_vector(3 downto 0); signal lednum : std_logic_vector(7 downto 0); signal key_tmp : std_logic_vector(3 downto 0); signal clk : std_logic; signal cntfrq1 : std_logic_vector(5 downto 0); begin VGA = 0101; --键盘功能选择 scan = not scnlin; lednum = scnlin (not key
显示全部
相似文档