版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2014 2015学年 第 1 学期 数字系统设计大作业题 目: 4×4阵列键盘键信号检测电路设计 专 业: 电子信息工程 班 级: 姓 名: 指导教师: 电气工程学院 2015 年 12月摘 要人类文明已进入到高度发达的信息化社会。信息化社会的发展离不开电子信息产品开发技术、产品品质的提高和进步。电子信息产品随着科学技术的进步,其电子器件和设计方法更新换代的速度日新月异。实现这种进步的主要原因就是电子设计技术和电子制造技术的发展,其核心就是电子设计自动化(EDA,Electronic Design Automation)技术,EDA技术的发展和推广应用又极大地推动了电子信息产业的发
2、展。为保证电子系统设计的速度和质量,适应“第一时间推出产品”的设计要求,EDA技术正逐渐成为不可缺少的一项先进技术和重要工具。目前,在国内电子技术教学和产业界的技术推广中已形成“EDA热”,完全可以说,掌握EDA技术是电子信息类专业学生、工程技术人员所必备的基本能力和技能。本设计主要利用VHDL硬件描述语言在EDA平台xilinx.ise.7.1i上设计一个4×4阵列键盘扫描电路,将行扫描信号输入阵列键盘,读取列信号的值,输出按键编码,从而判断出按键按下的位置。并且使用Modelsim软件进行模拟仿真,下载到EDA实验箱进行硬件验证。关键词:EDA VHDL语言 4×4阵列
3、键盘扫描 目 录数字系统设计1数字系统设计2摘 要3关键词:EDA VHDL语言 4×4阵列键盘扫描31、实验目的52、实验要求53、 实验原理54、 总体框图64.1.1方案一64.1.2方案二64.2设计思路75、功能模块介绍95.1键盘消抖模块95.2键盘模块95.3VHDL部分程序96、实验结果116.1综合电路图116.2时序仿真121、实验目的(1)通过常见基本组合逻辑电路的设计,熟悉EDA设计流程;(2)熟悉文本输入及仿真步骤;(3)掌握VHDL设计实体的基本结构及文字规则;(4)理解硬件描述语言和具体电路的映射关系;(5)用VHDL设计一个能识别4×4阵列键
4、盘的实用电路。2、实验要求要求通过查阅相关书籍资料,熟悉和初步掌握VHDL语言的语法及其功能,深入分析4×4键盘扫描电路的原理,然后运用VHDL硬件描述语言和图形设计综合方法,实现4×4键盘扫描电路的程序设计,通过运用xilinx.ise.7.1i软件设置输入端口,实现模拟仿真,得到仿真波形图后,并记录结果。3、 实验原理4×4阵列键盘十分常用,如下图是此键盘电路的原理图,10芯接口也如下。通常,此类按键的识别法有两种:扫描法和反转法。扫描法,即当按下某键后,为了辨别和读取键信息,向A口扫描输入一组分别只含一个0的4位数据,如1110,1101,1011等。若有键
5、按下,则B口一定会输出对应的数据,这时,只要结合A、B口的数据,就能判断出键的位置。如当键S0按下,对于输入的A=1110时,那么B=0111.于是B,A=0111_1110就成了S0的代码。反转法中,A、B口都必须接双向口。首先将A口设定为输出,B口设定为输入。然后向A口输出全0,接着读B口。若读入的数据中有一位是0,则表明与该位对应的列线上有某键被按下,存储此值(否则循环检测);然后反过来,将A口设定为输入,B口设定为输出。向B口输出全0,读A口,其中必有一位为0.将此4位数与刚才从B口读得的数据组合即得被按键的特征码。最后通过查表即得所按键的码。4×4按键电路4、 总体框图4.
6、1.1方案一时钟脉冲译码输出键盘输入键盘扫描上图为方案一的设计框图,键盘按键按下后,经过键盘扫描电路后,直接输出显示。本方案优点在于简单易懂,缺点在于无法消除按键按下时和之后弹起时的抖动对扫描电路的干扰。4.1.2方案二 时钟脉冲键盘输入键盘消抖输出低电平LED灯显示键盘扫描上图为方案二的设计框图,键盘按键按下后,先经过消除抖动电路之后,再进入键盘扫描电路,这样就可以使CPU只处理一次按键操作,避免了按键按下时和之后弹起时的抖动对扫描电路的干扰。另外,LED灯显示可以更直观地看到实验结果。4.2设计思路本设计采用方案二,主要由三个功能模块组成:键盘消抖模块、键盘扫描模块、译码显示模块。(1)键
7、盘消抖模块 因为普通的按键都是接触式的,当按键闭合或释放时,上下接触面都会产生一个很短暂的抖动,这个抖动时间一般都会持续5-10ms,虽然这个抖动时间很短,但对于FPGA工作在50M的高频率上的器件来说,还是可以捕捉的到的。为了使CPU对于一次按键操作只处理一次,在软件中必须加入消除抖动处理。本模块是由四个上升沿触发型D触发器和一个四输入的与门构成的。四个D触发器用同步时序方式连接,即:将它们的时钟输入端都连在一起。在工作时四个D触发器与clk时钟信号同步,输入信号以移位串行方式向前传递。(2)键盘扫描模块阵列式键盘又叫做行列式键盘,用带有I/O口的线组成行列结构,按键设置在行列的交点上。此模
8、块所用键盘是表1所示的4×4阵列键盘。按键设置在行列交叉点,行列线分别接到按键开关的两端,每个键的按下与否由这个键的行电平和列电平共同决定,当按下时为低电平“0”,没有按下时为高电平“1”。 表1、4×4阵列键盘123A456B789C*0#D本模块设计采用扫描的方法来实现对键盘上每个键的识别,即当进行行扫描时,扫描信号由行线进入键盘,以“1110”、“1101”、“1011”、“0111”的顺序每次扫描不同的一行。之后,读取列线的电平信号,判断是哪个键按下了,如果列线全为高电平,则代表该列没有按键按下,如果列线有输入低电平,则低电平信号所在的行和出现低电平的列的交点处有按
9、键按下。假设行线为a,列线为b,长度都为4。将输入行扫描值a与列读取值b并置形成组合值作为按键的输入值,并对每一个键进行编码(如表2键盘参数所示),使其送入输出变量r(定义为4位),即可判断出按键按下的位置。 表2、键盘参数 行扫描a 列读取b键盘按键按键编码11100111100001101011140001101101117001001110111*0011111010112010011011011501011011101180110011110110011111101101310001101110161001101111019101001111101#101111101110A11001
10、1011110B110110111110C111001111110D11113)译码显示模块 该模块包括输出低电平与LED灯显示。因为实验箱的LED灯是低电平有效,所以需要把输出变量r进行逻辑“非”变换。该部分采用了4个非门,分别将输入的4位扫描模块输出变量取反。LED灯的亮灭表示输出变量r。r为高电平时灯亮,r为低电平时灯灭,这样就能更清晰地显示出实验结果,使人一目了然。5、功能模块介绍5.1键盘消抖模块图5-1消抖动模块图4为消抖模块的逻辑符号,其中D(3:0)输入按键按下时带抖动的信号,经过消抖之后,Q(3:0)输出消除抖动之后的信号,使得CPU可以只对一次按键处理一次信号。5.2键盘模
11、块图5-2键盘模块图5-2为扫描模块的逻辑符号,其中a3:0是4位的行扫描信号,b3:0是4位的列读取信号,r3:0是4位的按键编码输出。5.3VHDL部分程序library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_1164.all;entity k44 isport (clk : in std_logic;-1khz以下 b,a : in std_logic_vector(3 downto 0); r : out std_logic_vector(3 downto
12、 0);end;architecture one of k44 is-signal c:std_logic_vector(1 downto 0);signal ba:std_logic_vector(7 downto 0);-signal e:std_logic_vector(3 downto 0);begin ba<=b&a; -ba<=e&a;b<=e;process(a,clk) begin- if rising_edge(clk) then c<=c+1;-case c is- when "00"=>e<=&quo
13、t;0111"when "01"=>e<="1011"- when "10"=>e<="1101"when "11"=>e<="1110" -when others=>null;-end case;case ba is when "01111110"=>r<="0000"when "01111101"=>r<="0001"
14、 when "01111011"=>r<="0010"when "01110111"=>r<="0011" when "10111110"=>r<="0100"when "10111101"=>r<="0101" when "10111011"=>r<="0110"when "10110111"=>r<=&
15、quot;0111" when "11011110"=>r<="1000"when "11011101"=>r<="1001" when "11011011"=>r<="1010"when "11010111"=>r<="1011" when "11101110"=>r<="1100"when "11101101"=>r<="1101" when "11101011"=>r<="1110"when "11100111"=>r<="1111" when others=>null; end case; -end if; end process;end;6、实验结果6.1综合电路图图6-1(a)电路原理图图6-1(b)RTL电路6.2时序仿真对源程序进行操作,生成tbw文件后,继续对.tbw进行操作,点击Simulate Behavior
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024双人合伙商业店铺协议模板
- 2024年企业工程承包详细协议细则
- 德邦物流2024年专项快递服务协议
- 2024年度供应商保密义务协议
- 2023-2024学年浙江省嘉兴市高考数学试题考前三个月(江苏专版)
- 2024年战略采购合作协议模板
- 2024房屋权属更名补充协议
- 2024年产品委托加工协议文本
- 6.1圆周运动(含答案)-2022-2023学年高一物理同步精讲义(人教2019必修第二册 )
- 2024年制造业劳务承包基本协议格式
- 绵阳市高中2022级(2025届)高三第一次诊断性考试(一诊)语文试卷(含答案)
- 自然资源调查监测劳动和技能竞赛
- 2 0 2 4 年 7 月 国开专科《法理学》期末纸质考试 试题及答案
- 6.1 我对谁负责 谁对我负责 课件-2024-2025学年统编版道德与法治八年级上册
- 2023-2024学年天津市经开区国际学校八年级(上)期末物理试卷
- DB23T 3842-2024 一般化工企业安全生产标准化评定规范
- 期中模拟押题卷(1-3单元)(试题)-2024-2025学年苏教版数学六年级上册
- 环氧树脂项目可行性研究报告项目报告
- 公共政策分析第一章
- 2024-2025学年人教版数学三年级上册 第三单元 测量 单元测试卷(含答案)
- 2024新信息科技三年级第四单元:创作数字作品大单元整体教学设计
评论
0/150
提交评论