数字系统设计
作业
题 目: 4×4阵列键盘键信号检测电路设计
专 业: 电子信息工程
班 级:
姓 名:
指导教师:
电气工程学院
2015 年 月
摘
类文明已进入高度发达信息化社会信息化社会发展离开电子信息产品开发技术产品品质提高进步电子信息产品着科学技术进步电子器件设计方法更新换代速度日新月异实现种进步原电子设计技术电子制造技术发展核心电子设计动化(EDAElectronic Design Automation)技术EDA技术发展推广应极推动电子信息产业发展保证电子系统设计速度质量适应第时间推出产品设计求EDA技术正逐渐成缺少项先进技术重工具目前国电子技术教学产业界技术推广中已形成EDA热完全说掌握EDA技术电子信息类专业学生工程技术员必备基力技
设计利VHDL硬件描述语言EDA台xilinxise71i设计4×4阵列键盘扫描电路行扫描信号输入阵列键盘读取列信号值输出键编码判断出键位置Modelsim软件进行模拟仿真载EDA实验箱进行硬件验证
关键词:EDA VHDL语言 4×4阵列键盘扫描
目 录
数字系统设计 1
数字系统设计 2
摘 3
关键词:EDA VHDL语言 4×4阵列键盘扫描 3
1实验目 5
2实验求 5
3 实验原理 5
4 总体框图 6
411方案 6
412方案二 6
42设计思路 7
5功模块介绍 9
51键盘消抖模块 9
52键盘模块 9
53VHDL部分程序 9
6实验结果 11
61综合电路图 11
62时序仿真 12
1实验目
(1)通常见基组合逻辑电路设计熟悉EDA设计流程
(2)熟悉文输入仿真步骤
(3)掌握VHDL设计实体基结构文字规
(4)理解硬件描述语言具体电路映射关系
(5)VHDL设计识4×4阵列键盘实电路
2实验求
求通查阅相关书籍资料熟悉初步掌握VHDL语言语法功深入分析4×4键盘扫描电路原理然运VHDL硬件描述语言图形设计综合方法实现4×4键盘扫描电路程序设计通运xilinxise71i软件设置输入端口实现模拟仿真仿真波形图记录结果
3 实验原理
4×4阵列键盘十分常图键盘电路原理图10芯接口通常类键识法两种:扫描法反转法扫描法某键辨读取键信息A口扫描输入组分含04位数111011011011等键B口定会输出应数时结合AB口数判断出键位置键S0输入A1110时B0111{BA}0111_1110成S0代码
反转法中AB口必须接双口首先A口设定输出B口设定输入然A口输出全0接着读B口读入数中位0表明该位应列线某键存储值(否循环检测)然反A口设定输入B口设定输出B口输出全0读A口中必位04位数刚B口读数组合键特征码通查表键码
4×4键电路
4 总体框图
411方案时钟脉
译码输出
键盘输入
键盘扫描
图方案设计框图键盘键键盘扫描电路直接输出显示方案优点简单易懂缺点法消键时弹起时抖动扫描电路干扰
412方案二
时钟脉
键盘输入
键盘消抖
输出低电
LED灯显示
键盘扫描
图方案二设计框图键盘键先消抖动电路进入键盘扫描电路样CPU处理次键操作避免键时弹起时抖动扫描电路干扰外LED灯显示更直观实验结果
42设计思路
设计采方案二三功模块组成:键盘消抖模块键盘扫描模块译码显示模块
(1)键盘消抖模块
普通键接触式键闭合释放时接触面会产生短暂抖动抖动时间般会持续510ms然抖动时间短FPGA工作50M高频率器件说捕捉CPU次键操作处理次软件中必须加入消抖动处理
模块四升触发型D触发器四输入门构成四D触发器步时序方式连接:时钟输入端连起工作时四D触发器clk时钟信号步输入信号移位串行方式前传递
(2)键盘扫描模块
阵列式键盘做行列式键盘带IO口线组成行列结构键设置行列交点模块键盘表1示4×4阵列键盘键设置行列交叉点行列线分接键开关两端键否键行电列电决定时低电0没时高电1
表14×4阵列键盘
1
2
3
A
4
5
6
B
7
8
9
C
*
0
#
D
模块设计采扫描方法实现键盘键识进行行扫描时扫描信号行线进入键盘1110110110110111序次扫描行读取列线电信号判断键果列线全高电代表该列没键果列线输入低电低电信号行出现低电列交点处键假设行线a列线b长度4输入行扫描值a列读取值b置形成组合值作键输入值键进行编码(表2键盘参数示)送入输出变量r(定义4位)判断出键位置
表2键盘参数
行扫描a
列读取b
键盘键
键编码
1110
0111
1
0000
1101
0111
4
0001
1011
0111
7
0010
0111
0111
*
0011
1110
1011
2
0100
1101
1011
5
0101
1011
1011
8
0110
0111
1011
0
0111
1110
1101
3
1000
1101
1101
6
1001
1011
1101
9
1010
0111
1101
#
1011
1110
1110
A
1100
1101
1110
B
1101
1011
1110
C
1110
0111
1110
D
1111
3)译码显示模块
该模块包括输出低电LED灯显示实验箱LED灯低电效需输出变量r进行逻辑非变换该部分采4非门分输入4位扫描模块输出变量取反LED灯亮灭表示输出变量rr高电时灯亮r低电时灯灭样更清晰显示出实验结果目然
5功模块介绍
51键盘消抖模块
图51消抖动模块
图4消抖模块逻辑符号中D(3:0)输入键时带抖动信号消抖Q(3:0)输出消抖动信号CPU次键处理次信号
52键盘模块
图52键盘模块
图52扫描模块逻辑符号中a[3:0]4位行扫描信号b[3:0]4位列读取信号r[3:0]4位键编码输出
53VHDL部分程序
library ieee
use ieeestd_logic_arithall
use ieeestd_logic_unsignedall
use ieeestd_logic_1164all
entity k44 is
port (clk in std_logic1khz
ba in std_logic_vector(3 downto 0)
r out std_logic_vector(3 downto 0))
end
architecture one of k44 is
signal cstd_logic_vector(1 downto 0)
signal bastd_logic_vector(7 downto 0)
signal estd_logic_vector(3 downto 0)
begin
baprocess(aclk)
begin
if rising_edge(clk) then c
when 00>e<0111when 01>e<1011
when 10>e<1101when 11>e<1110
when others>null
end case
case ba is
when 01111110>r<0000when 01111101>r<0001
when 01111011>r<0010when 01110111>r<0011
when 10111110>r<0100when 10111101>r<0101
when 10111011>r<0110when 10110111>r<0111
when 11011110>r<1000when 11011101>r<1001
when 11011011>r<1010when 11010111>r<1011
when 11101110>r<1100when 11101101>r<1101
when 11101011>r<1110when 11100111>r<1111
when others>null
end case
end if
end process
end
6实验结果
61综合电路图
图61(a)电路原理图
图61(b)RTL电路
62时序仿真
源程序进行操作生成tbw文件继续tbw进行操作点击Simulate Behavioral Model出现时序图输入输出进行赋值:
图62(a)时序仿真初始图
图62(b)时序仿真结果图
具体分析:
图62(b)示
(1)a0111b1110时应输出s0000时应键盘S0输出信息1
(2)a0111b1101时应输出s0001时应键盘S2输出信息2
(3)a1101b1001时应输出s1001时应键盘SA输出信息9
综分析实验仿真结果显然满足课题求该实验方案成立
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档