




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.1键盘扫描输入实验4.1.1 实验目的 1.学习复杂数字系统的设计方法; 2.掌握矩阵式键盘输入列阵的设计方法。4.1.2 实验设备 PC微机一台,TD-EDA试验箱一台,SOPC开发板一块。4.103 实验内容在电子,控制,信息处理等各种系统中,操作人员经常需要想系统输入数据和命令,以实现人机通信。实现人机通信最常用的输入设备是键盘。在EDA技术的综合应用设计中,常用的键盘输入电路独立式键盘输入电路、矩阵式键盘输入电路和“虚拟式”键盘输入电路。所谓矩阵是键盘输入电路,就是将水平键盘扫描线和垂直输入译码线信号的不同组合编码转换成一个特定的输入信号值或输入信号编码,利用这种行列矩阵结构的键盘,只需N个行线和M个列线即可组成NXM按键,矩阵式键盘输入电路的优点是需要键数太多时,可以节省I/O口线;缺点是编程相对困难。 本实验使用TD-EDA实验系统的键盘单元设计一个4x4的矩阵键盘的扫描译码电路。此设计包括键盘扫描模块和扫描码锁存模块,原理如图4-1-1。每按下键盘列阵的一个按键立即在七段数码管上显示相应的数据。4.1.1 实验步骤 1. 运行Quartus II 软件,分别建立新工程,选择File-New菜单,创建VHDL描述语言设计文件,分别编写JPSCAN.VHD、REG.VHD. 2.扫描码锁存模块REG的VHDL源程序如下; -输入锁存器VHDL源程序:REGVHDL LIBRARY IEEE; USB IEEE.STD-LOGIC-1164.ALL; ENTITY REG ISPORT ( RCLK : IN STD-LOGIC; -扫描时钟 YXD : IN STD-LOGIC-VECTOR(3 DOWNTO 0); -Y 列消抖输入 DATA : IN STD-LOGIC-VECTOR(7 DOWNTO 0); -输入数据 LED : OUT STD-LOGIC- VECTOR(7 DOWNTO 0); -锁存数据输出END ENTITY REG;ARCHITECTURE BEHV OF REG IS SIGNAL RST : STD-LOGIC; -锁存器复位清零 SIGNAL OLDDATA : STD-LOGIC- VECTOR(7 DOWNTO 0); -锁存器旧数据 SIGNAL NEWDATA : STD-LOGIC- VECTOR(7 DOWNTO 0); -锁存器新数据 BEGIN PROCESS(RCLK) BEGIN IF RCLKEVENT AND RCLK=1THEN RST=YXD(3)AND YXD(2)AND YXD(1)AND YXD(0); -判断是否有按键 END IF; END PROCESS; PROCESS(RST) IS BEGIN IF(RST=1)THEN -RST=1没有按键按下 NEWDATA=OLDDATA; ELSE OLDDATA=DATA; -RST=0有按键按下打入新据 END IF; LED=NEWDATA; END PORCESS; END ARCHIECTUBE BEHV;3. 键盘扫描模块JPSCAN的VHDL源程序如下; -键盘扫描电路的VHDL源程序;JPSCAN.VHDLIBRARY IEEE;USB IEEE-STD-LOGIC-1164-ALL;USB IEEE-STD-LOGIC-ARITH-ALL;USB IEEE-STD-LOGIC-UNSIGNED-ALL;ENTITY JPSCAN ISPORT(SCLK : IN STD-LOGIC -系统时钟:1KHZ YLINE : IN STD-LOGIC-VECTOR(4 DOWN 1); -Y列按键输入 RCLK : OUT STD-LOGIC; -X行键盘扫描时钟 YXD : OUT STD-LOGIC-VECTOR(3 DOWN 0); -Y列消抖输出 DATA : OUT STD-LOGIC-VECTOR(7 DOWN 0); -数字输出 XROW : OUT STD-LOGIC-VECTOR(4 DOWN 1); -X行键盘扫描END ENTITY JPSCAN;ARCHITECTURE BEHV OF JPSCAN IS COMPONENT JPXD IS -控制电路工作时钟:512Hz SIGNAL KEY-SCAN:STD-LOGIC-VECTOR(1 DOWNTO 0); -键盘扫描时钟信号 -“00-01-10-11” SIGNAL CLK-JPXD : STD-LOGIC; -去抖电路工作时钟 SIGNAL Y-XD : STD-LOGIC-VECTOR(3 DOWNTO 0); -键盘列输入去抖后的寄存器 SIGNAL X-SCAN : STD-LOGIC-VECTOR(3 DOWNTO 0) -键盘行扫描输出寄存器 -1110-1101-1011-0111 SIGNAL VALUE : STD-LOGIC-VECTOR(7 DOWNTO 0); -按键译码数值寄存器 BEGIN DATA=VALUE; COUNTER:BLOCK IS -信息扫描发生器 SIGNAL Q :STD-LOGIC-VECTOR(6 DOWNTO 0); -计数器实现分频 BEGIN PROCESS(SCLK)IS BEGIN IF SCLKEVENT AND SCLK=THEN Q=Q+1; END IF; CLK=Q(0); -控制电路工作时钟:512Hz,系统时钟的二分频 CLK-JPXD=Q(2); -去抖时钟信号,大约128Hz KEY-SCAN=Q(6 DOWNTO 5); -产生键盘扫描信号00-01-10-11,大约16Hz END PROCESS; X-SCAN=”1110”WHEN KEY-SCAN=”00”ELSE ”1101”WHEN KEY-SCAN=”01”ELSE”1011”WHEN KEY-SCAN=”10”ELSE”0111”WHEN KEY-SCAN=”11”ELSE“1111” XROW(4 DOWNTO 1)YLINE(1),D-OUT=Y-XD(0),CLK=CLK-JPXD);U2:JPXD PORT MAP(D-IN=YLINE(2),D-OUT=Y-XD(1),CLK=CLK-JPXD);U3:JPXD PORT MAP(D-IN=YLINE(3),D-OUT=Y-XD(2),CLK=CLK-JPXD);U4:JPXD PORT MAP(D-IN=YLINE(4),D-OUT=Y-XD(3),CLK=CLK-JPXD); YXD(3 DOWNTO 0)=Y-XD(3 DOWNTO 0); RCLK=CLK; -键盘扫描时钟等于控制电路工作时钟:512Hz END BLOCK JPXDMK; KEY-DECODER : BLOCK IS -键盘译码模块 SIGNAL Z:STD-LOGIC-VECTOR(5 DOWNTO 0); BEGIN PORCESS(CLK) BEGIN ZVALUEVALUEVALUEVALUEVALUEVALUEVALUEVALUEVALUEVALUEVALUEVALUEVALUEVALUEVALUEVALUE VALUS=”00000000”; -OTHER END CASE; END IF; END PROCESS; END BLOCK KEY-DECODER;END ARCHITECTURE BEHV;4. 上述程序中键盘消抖模块JPXD的VHDL源程序如下: -键盘输入消抖电路的VHDL源程序。JPXD,VHD LIBRARY IEEE; USB IEEESTD-LOGIC-1164ALL; ENTITY JPXD IS PORT(D-IN : IN STD-LOGIC; CLK :IN STD-LOGIC; D-OUT:OUT STD-LOGIC); END ENTITY JPXD;ARCHITECTURE BEHV OF JPXD ISCOMPONENT DCFQ IS PORT(CLK: IN STD-LOGIC; -时钟信号 CLRN: IN STD-LOGIC: -清零信号 PRN: IN STD-LOGIC; -预置信号 D: IN STD-LOGIC; Q: OUT STD-LOGIC);END COMPONENT DCFQ; SIGNAL VCC,INV-D:STD-LOGIC; SIGNAL Q0,Q1:STD-LOGIC; SIGNAL D1,D0:STD-LOGIC; BEGIN VCC=1; INV-DCLK,CLRN=INV-DVCRN=VCC,D=VCC,Q=Q0);UMN2:DCFQ PORT MAP(CLK=CLK,CLRN=Q0,PRN=VCC,D=VCC,Q=Q1); PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=THEN D0=NOT Q1; D1=D0; END IF;END PROCESS; D-OUTCreate/Update -Create Symbol File for Current File菜单,分别生成符号文件.BSF。6. 建立新工程,工程名称及顶层文件名称为JIAPAN,选择File-New菜单,创建图形设计文件。如图4-1-1所示,完成键盘扫描输入电路的设计。将创建的图形设计文件保留存为JIANPAN.BDF作为整个设计的顶层文件。7. 选择Tools-Compiler Tool菜单,编译文件。8. 选择Assignments-Assignment Editor菜单,对工程进行引脚分配。分配结果如表4-1-1所示。9. 选择Tools-Compiler Tool菜单,点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 哈尔滨施工方案汇报会
- 搪瓷花版饰花工专业技能考核试卷及答案
- 福州台江装修方案咨询
- 风电场施工合同履行风险分析报告
- 活动策划方案流程图片
- 户外建筑写生教学方案设计
- 江苏咖啡店营销方案模板
- 建筑亮化照明方案设计
- 药品质量安全培训考题课件
- 威宁景点活动策划方案范文
- 【数学】角的平分线 课件++2025-2026学年人教版(2024)八年级数学上册
- 阿迪产品知识培训内容课件
- 幼儿园副园长岗位竞聘自荐书模板
- 第1课 独一无二的我教学设计-2025-2026学年小学心理健康苏教版三年级-苏科版
- 反对邪教主题课件
- 化工阀门管件培训课件
- 新疆吐鲁番地区2025年-2026年小学六年级数学阶段练习(上,下学期)试卷及答案
- TCT.HPV的正确解读课件
- 白酒生产安全员考试题库及答案解析
- 变电站工程建设管理纲要
- 混凝土结构平法施工图识读柱和基础
评论
0/150
提交评论