键盘扫描输入实验.doc

键盘扫描输入实验.doc

ID:53265340

大小:879.66 KB

页数:6页

时间:2020-04-02

键盘扫描输入实验.doc_第1页
键盘扫描输入实验.doc_第2页
键盘扫描输入实验.doc_第3页
键盘扫描输入实验.doc_第4页
键盘扫描输入实验.doc_第5页
资源描述:

《键盘扫描输入实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.1键盘扫描输入实验4.1.1实验目的1.学习复杂数字系统的设计方法;2.掌握矩阵式键盘输入列阵的设计方法。4.1.2实验设备PC微机一台,TD-EDA试验箱一台,SOPC开发板一块。4.103实验内容在电子,控制,信息处理等各种系统中,操作人员经常需要想系统输入数据和命令,以实现人机通信。实现人机通信最常用的输入设备是键盘。在EDA技术的综合应用设计中,常用的键盘输入电路独立式键盘输入电路、矩阵式键盘输入电路和“虚拟式”键盘输入电路。所谓矩阵是键盘输入电路,就是将水平键盘扫描线和垂直输入译码

2、线信号的不同组合编码转换成一个特定的输入信号值或输入信号编码,利用这种行列矩阵结构的键盘,只需N个行线和M个列线即可组成NXM按键,矩阵式键盘输入电路的优点是需要键数太多时,可以节省I/O口线;缺点是编程相对困难。本实验使用TD-EDA实验系统的键盘单元设计一个4x4的矩阵键盘的扫描译码电路。此设计包括键盘扫描模块和扫描码锁存模块,原理如图4-1-1。每按下键盘列阵的一个按键立即在七段数码管上显示相应的数据。4.1.1实验步骤1.运行QuartusII软件,分别建立新工程,选择File->New

3、菜单,创建VHDL描述语言设计文件,分别编写JPSCAN.VHD、REG.VHD.2.扫描码锁存模块REG的VHDL源程序如下;--输入锁存器VHDL源程序:REGVHDLLIBRARYIEEE;USBIEEE.STD-LOGIC-1164.ALL;ENTITYREGISPORT(RCLK:INSTD-LOGIC;--扫描时钟YXD:INSTD-LOGIC-VECTOR(3DOWNTO0);--Y列消抖输入DATA:INSTD-LOGIC-VECTOR(7DOWNTO0);--输入数据LED:O

4、UTSTD-LOGIC-VECTOR(7DOWNTO0));--锁存数据输出ENDENTITYREG;ARCHITECTUREBEHVOFREGISSIGNALRST:STD-LOGIC;--锁存器复位清零SIGNALOLDDATA:STD-LOGIC-VECTOR(7DOWNTO0);--锁存器旧数据SIGNALNEWDATA:STD-LOGIC-VECTOR(7DOWNTO0);--锁存器新数据BEGINPROCESS(RCLK)BEGINIFRCLK’EVENTANDRCLK=’1’THE

5、NRST<=YXD(3)ANDYXD(2)ANDYXD(1))ANDYXD(0);--判断是否有按键ENDIF;ENDPROCESS;PROCESS(RST)ISBEGINIF(RST=‘1’)THEN--RST=1没有按键按下NEWDATA<=OLDDATA;ELSEOLDDATA<=DATA;--RST=0有按键按下打入新据ENDIF;LED<=NEWDATA;ENDPORCESS;ENDARCHIECTUBEBEHV;3.键盘扫描模块JPSCAN的VHDL源程序如下;--键盘扫描电路的VH

6、DL源程序;JPSCAN.VHDLIBRARYIEEE;USBIEEE-STD-LOGIC-1164-ALL;USBIEEE-STD-LOGIC-ARITH-ALL;USBIEEE-STD-LOGIC-UNSIGNED-ALL;ENTITYJPSCANISPORT(SCLK:INSTD-LOGIC--系统时钟:1KHZYLINE:INSTD-LOGIC-VECTOR(4DOWN1);--Y列按键输入RCLK:OUTSTD-LOGIC;--X行键盘扫描时钟YXD:OUTSTD-LOGIC-VECT

7、OR(3DOWN0);--Y列消抖输出DATA:OUTSTD-LOGIC-VECTOR(7DOWN0);--数字输出XROW:OUTSTD-LOGIC-VECTOR(4DOWN1);--X行键盘扫描ENDENTITYJPSCAN;ARCHITECTUREBEHVOFJPSCANISCOMPONENTJPXDIS--控制电路工作时钟:512HzSIGNALKEY-SCAN:STD-LOGIC-VECTOR(1DOWNTO0);--键盘扫描时钟信号--“00-01-10-11”SIGNALCLK-J

8、PXD:STD-LOGIC;--去抖电路工作时钟SIGNALY-XD:STD-LOGIC-VECTOR(3DOWNTO0);--键盘列输入去抖后的寄存器SIGNALX-SCAN:STD-LOGIC-VECTOR(3DOWNTO0)--键盘行扫描输出寄存器--1110-1101-1011-0111SIGNALVALUE:STD-LOGIC-VECTOR(7DOWNTO0);--按键译码数值寄存器BEGINDATA<=VALUE;COUNTER:BLOCKIS--信息扫描发生器SIGNALQ:STD

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。