电子系统设计键盘_第1页
电子系统设计键盘_第2页
电子系统设计键盘_第3页
电子系统设计键盘_第4页
电子系统设计键盘_第5页
已阅读5页,还剩5页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 电子系统设计实验报告 姓 名 杨熙丞 指导教师 贾立新 专业班级 自动化1201 学 院 信息工程学院 一.设计题目 设计一4*4矩阵键盘编码器,其示意图如图所示。Y0到Y3为4路列扫描信号输出线,轮流将每一列置为低电平。X0到X3为4根行输入线,当没有键按下时,X0到X3被上拉电阻拉成高电平。当有键按下时,在列扫描信号的作用下,闭合键对应的行输入线变为低电平。当按键有效时,输出4位键值B3到B0,同时键值有效信号DAV产生由高到低的跳变。KEYCLK为键盘接口的时钟信号.二.设计方案 掌握利用可编程逻辑器件设计编码式键盘接口的方法。 1.键盘编码器实验电路由键盘编码器模块和显示模块组成。显

2、示模块主要是对数码管的编译。4*4矩阵键盘编码器应由键盘扫描电路,行值编码器,消抖电路几部分组成。键盘扫描电路由2位二进制计数器CNT4A和2线-4线译码器DECODER构成。行值编码器由ENCODER组成。消抖电路的按键是否稳定闭合是通过一个具有异步清零和保持功能的16进制计数器CNT16A来检测的。消抖按键的原理如图1所示。 2.实验板连接图如图2所示。KEYCLK来自LED模块的CLKIN,用短路块选择频率为2048Hz。 3.FPGA管脚锁定参考图3和4。 图1 消抖电路图2编码式键盘实验连接图 图3 FPGA I/O引脚分配图(注意:其中分配使用的是键盘行输入信号以及键盘列扫描信号即

3、X0-X3和Y0-Y3) 图4 LED模块管脚锁定图(注意:AA0-AA6显示键值,CC0-CC6显示按键次数并检验防抖效果)三原理图设计 根据设计题目给出的功能要求,4*4矩阵键盘编码器应由键盘扫描电路,行值编码器,消抖电路几部分组成,其原理框图如图5所示。 图5 4*4矩阵键盘编码器原理图 设计好4*4矩阵键盘编码器后,加入十六进制计数器CNT16,显示译码器7SLED.构成了4*4矩阵键盘编码器测试电路顶层原理图。 图6 4*4矩阵键盘编码器测试电路顶层原理图四.单元电路设计1.列扫描计数器CNT4Alibrary ieee;use ieee.std_logic_1164.all;use

4、 ieee.std_logic_unsigned.all; entity cnt4a is port(clk:in std_logic; en:in std_logic; q:buffer std_logic_vector(1downto 0);end cnt4a;architecture one of cnt4a is begin process(clk,en) begin if(clk'event and clk='1')then if(en='1')then q<=q+1; end if; end if; end process;end;2.

5、2-4译码器DECODER的设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity DECODER isport(a:in std_logic_vector(1 downto 0);y:out std_logic_vector(3 downto 0);end DECODER;architecture one of DECODER isbeginy(0)<='0'when a=0 else '1'y(1)<='0'when a=1

6、 else '1'y(2)<='0'when a=2 else '1'y(3)<='0'when a=3 else '1'end;3.优先编码器ENCODER的设计 设I0到I3为键输入信号,低电平有效,优先级次序为I0最高,I3最低。y1,y0为编码输出,KA为键检测信号。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity encoder is port(i0,i1,i2,i3:in bit;

7、y0,y1,ka:out bit);end encoder;architecture one of encoder isbegin y1<=(i0 and i1 and(not i2)or(i0 and i1 and(not i3); y0<=(i0 and(not i1)or(i0 and i2 and(not i3); ka<=i0 and i1 and i2 and i3;end;4.消抖计数器CNT16A的设计 消抖计数器CNT16A实际上是一个具有清零和保持功能的十六进制加法计数器。library ieee;use ieee.std_logic_1164.all;u

8、se ieee.std_logic_unsigned.all;entity CNT16A is port(clk,clr:in std_logic; dav:out std_logic);end cnt16a;architecture one of CNT16A is signal q:std_logic_vector(3 downto 0);beginprocess(clk,clr) begin if(clk'event and clk='1')then if(clr='1')then q<="0000" elsif(q=15

9、)then q<="1111" else q<=q+1; end if; end if; end process;process(q)begin if(q="1111")then dav<='0' else dav<='1' end if; end process;end;5.寄存器REG4的设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity REG4 is port( clk:in st

10、d_logic; d:in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0) );end REG4;architecture one of reg4 isbegin process(clk) begin if(clk'event and clk='0')then q<=d; end if; end process;end;6.CNT16十六进制计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.

11、all;entity CNT16 isport(clk:in std_logic;q:buffer std_logic_vector(3 downto 0);end CNT16;architecture one of CNT16 isbeginprocess(clk)beginif(clk'event and clk='1') thenq<=q+1;end if;end process;end;7.LED7S模块的设计LED7S模块的功能是将二进制编码转换成七段显示码。由于频率计的显示器件采用共阴七段LED数码管,七段显示码中的0表示点亮,1表示熄灭。librar

12、y ieee;use ieee.std_logic_1164.all;entity LED7S isport(din:in std_logic_vector(3 downto 0);Y:out std_logic_vector(6 downto 0);end LED7S;architecture one of LED7S is begin process(din) begin case din is when"0000"=>Y<="0111111" when"0001"=>Y<="0000110&qu

13、ot; when"0010"=>Y<="1011011" when"0011"=>Y<="1001111" when"0100"=>Y<="1100110" when"0101"=>Y<="1101101" when"0110"=>Y<="1111101" when"0111"=>Y<="0000

14、111" when"1000"=>Y<="1111111" when"1001"=>Y<="1101111" when"1010"=>Y<="1110111" when"1011"=>Y<="1111100" when"1100"=>Y<="0111001" when"1101"=>Y<="1011110" when"1110"=>Y<="1111001" when"1111"=>Y<="1110001" when others=>Y<=null; end case; end process; end ;五.仿真结果1.优先编码器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论