




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业设计项目成绩评定表一、设计任务及要求:1、设计任务:利用 EDA设计试验箱、微机和Quartus软件系统,设计并实现一个4*4键盘扫描电路。设计过程中使用 Verilog HDL语言,完成硬件设计和功能仿真。最后下载EDA设计试验箱中予以实现。2、要 求:在时钟控制下循环扫描键盘,根据列扫描信号和对应键盘响应信号确定键盘按键位置,并将按键值显示在7段数码管上。指导教师签名: 年 月 日 二、指导教师评语:指导教师签名: 年 月 日 三、成绩评定:指导教师签名: 年 月
2、日四、系部意见:系部盖章: 年 月 日设计报告书目录TOC o 1-3 h u 一、设计目的1、掌握常用的输入设备行列式键盘接口电路的实现方法。2、学习较复杂的数字系统设计方法。二、设计思路如下图所示为“4 * 4键盘”模拟图。行“kbrow”有四行:kbrow0、kbrow1、kbrow2、kbrow3。列“kbcol”有四列:kbcol0、kbcol1、kbcol2、kbcol3 通过给四行赋值循环地对每行进行扫描,例如:通过行线赋值为“1000”时,这样就使得第0行“0键、1键、2键、3键”处在高电平的状态下。此时如果0键被按下,那么就有第0列输出为高电平。即四位kbcol输出为“100
3、0”,获取键值为“0”然后在7段数码管上显示出来。图1 4 * 4键盘三、设计内容3.1、原理分析在数字系统设计中,4*4矩阵键盘是一种常见的输入装置,通常作为系统的输入模块。对应于键盘上每一个键的识别,一般采用扫描的方法来实现。下面介绍一种用列信号进行扫描时的基本原理和流程,如图2所示。当进行列扫描时,扫描信号由列引脚进入键盘,以1000、0100、0010、0001的顺序每次扫描不同的一列,然后读取行引脚的点评信号,以此可以判断是哪个按键被按下。例如,当扫描行信号独处的值为“0000”时,表示正在扫描“89AB”一列,如果该列没有按键被按下,则由行信号读出的值为“0000”;反之,如果按键
4、“9”被按下时,则该行信号读出的值为“0110”。图2 4 * 4键盘及行列代码 3.1 1、4* 4键盘的扫描在这一部分中,利用时钟信号进行扫描和频率计数器的计数来完成对键盘的扫描。程序配套的4*4矩阵键盘电路图如下图所示:图3 程序配套的4*4矩阵键盘电路图时钟信号给定相应的时钟信号,通过它的上升沿信号给计数器赋值。并同时读取复位信号,一旦获取到相应的复位信号,所有键盘值即被初始化复位。3.1.2、扫描结果的显示 用7段数码管显示相应的扫描结果。其中7段数码管采用共阴极读取键值。当某一键被按下,相应的7段数码管获得高电平,便显示该键值,如图4所示:图4 7段数码管及所对应的I/O接口3.1
5、.3、电路符号4*4矩阵键盘扫描电路的电路符号如图5所示。输入信号:时钟信号clk;开始信号start;行扫描信号kbrow3:0。输出信号:列扫描信号kbcool3:0;7段显示控制信号seg7_out6:0;数码管地址选择控制信号scan2:0,图5 4*4矩阵键盘扫描电路的电路符号3.1.4、数码管地址选择控制信号数码管地址选择控制信号scan2:0用于选择哪个数码管显示数字,8个数码管(SM8-SM1)为共阴极数码管(段码为高电平点亮数码管),I/O2-I/O0为数码管位选,位选对应的数码管关系如下表一所示:表一:数码管地址选择控制信号对应的位选接口序列(硬件接口管教号)数码管选中状态
6、,可显示I/O0 (scan0)I/O1 (scan1)I/O3 (scan2)111SM8110SM7101SM6100SM5011SM4010SM3001SM2000SM13.2、程序设计module jp(kbrow,seg7_out,scan,clk,start,kbcol); output 3:0 kbrow;/ 列扫描信号 output 6:0seg7_out;/ 7段显示控制信号 output 2:0 scan;/ 数码管地址选择控制信号 input clk,start;/ 扫描时钟信号,开始信号,高电平有效 input 3:0 kbcol;/ 行扫描信号 reg 3:0 kbr
7、ow; reg 6:0seg7_out; reg 2:0 scan; reg 1:0 sta; reg 1:0 count; reg 6:0 seg7; reg 4:0 dat; reg fn;/ 按键标志位,判断是否有键被按下 initial scan=3b000;/ 只使用一个数码管显示/循环扫描计数器always (posedge clk)begin if(start=0) seg7=7b;else begin count=count+1; /循环列扫描 case(count)2b00:begin kbrow=4b0001;sta=2b00;end 2b01:begin kbrow=4b
8、0010;sta=2b01;end 2b10:begin kbrow=4b0100;sta=2b10;end 2b11:begin kbrow=4b1000;sta=2b11;end endcase /行扫描译码 case(sta) 2b00:begin case(kbcol) 4b0001:begin seg7=7b111_1001;dat=5b00011;end 4b0010:begin seg7=7b110_1101;dat=5b00010;end 4b0100:begin seg7=7b011_0000;dat=5b00001;end 4b1000:begin seg7=7b111_1
9、110;dat=5b00000;end default:begin seg7=7b000_0000;dat=5b11111;end endcase end 2b01:begin case(kbcol) 4b0001:begin seg7=7b111_0000;dat=5b00111;end 4b0010:begin seg7=7b101_1111;dat=5b00110;end 4b0100:begin seg7=7b101_1011;dat=5b00101;end 4b1000:begin seg7=7b011_0011;dat=5b00100;end default:begin seg7=
10、7b000_0000;dat=5b11111;end endcase end 2b10:begin case(kbcol) 4b0001:begin seg7=7b001_1111;dat=5b01011;end 4b0010:begin seg7=7b111_0111;dat=5b01011;end 4b0100:begin seg7=7b111_1011;dat=5b01001;end 4b1000:begin seg7=7b111_1111;dat=5b01000;end default:begin seg7=7b000_0000;dat=5b11111;end endcase end
11、2b11:begin case(kbcol) 4b0001:begin seg7=7b100_0111;dat=5b01111;end 4b0010:begin seg7=7b100_1111;dat=5b01110;end 4b0100:begin seg7=7b011_1101;dat=5b01101;end 4b1000:begin seg7=7b100_1110;dat=5b01100;end default:begin seg7=7b000_0000;dat=5b11111;end endcase end default:seg7=7b;endcase end end always
12、begin fn=(dat0&dat1&dat2&dat3&dat4); end /产生按键标志位,用于储存按键信息 always (posedge fn)/ 按键信息储存 begin seg7_out=seg7; end endmodule3.3、管脚分配表二:管脚分配表tolocationclkPIN_79seg7_out6PIN_10seg7_out5PIN_11seg7_out4PIN_12seg7_out3PIN_13seg7_out2PIN_14seg7_out1PIN_15seg7_out0PIN_16kbrow3PIN_62kbrow2PIN_61kbrow1PIN_60kbr
13、ow0PIN_58kbcol0PIN_67kbcol1PIN_65kbcol2PIN_64kbcol3PIN_63scan0PIN_7scan1PIN_8scan2PIN_9四、系统调试与结果 将实验箱与微机和电源分别连接好。首先检测试验箱是否可以使用,经检测无误后,开通电源。根据引脚的锁定情况,将clk时钟接128Hz时钟输入,对引脚配置编译后,可将设计好的程序下载到EDA实验箱,即可测试功能。 当对应“数字E”按键的按下,在实验箱的7段数码管上,会显示对应的数字E。 实验效果图如下图所示:五、主要元器件与设备 1、EDA技术试验箱一个 2、计算机一台 3、Quartus软件六、课程设计体会 通过此次课程设计,让我对EDA这门技术有了更深的体会,并更好的学会了使用Quartus软件进行硬件设计。 此次课程设计时基于Verilog HDL语言进行的矩阵键盘控制接口电路设计,在课程设计时,我逐渐掌握了Verilog HDL语言的语句及语法等的使用。但在学习过程中,也遇到了很多困难,尤其是Verilog HDL语言的运用。我先上网找了一些资料和程序,一点点的看,慢慢摸索着学习写语句。最后在老师和同学的帮助下,终于完成了矩阵键盘控制接口电路的设计。七、参考文献1 宋烈武. EDA技术与实践教程. 北京:电子工业出版社,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 巴音郭楞蒙古自治州轮台县2025-2026学年三年级数学第一学期期末调研试题含解析
- 安徽省宿州市灵璧县2025-2026学年数学三年级第一学期期末教学质量检测试题含解析
- 患者安全护理管理
- 冲刺抢分卷02 备战2025年高考考前仿真模拟卷冲刺抢分卷化学试题02 (辽宁、黑龙江、吉林、内蒙古专用) 含解析
- 节能环保设施安装维修合同
- 数字媒体技术知识点练习题
- 工程经济项目价值评估题目试题及答案
- 通信设备研发与技术支持服务合同
- 商业法案例阅读题
- 农业养殖技术应用与指导协议
- MOOC 学术英语写作-东南大学 中国大学慕课答案
- 《老北京四合院》
- 常用化学中英文名词对照表
- 筋膜间室综合征
- 基于UC3842的反激式开关电源的设计
- 生态防护林建设项目建议书范文
- 大学生对美团满意调查问卷
- 原辅材料留样观察记录
- 手语教学(课堂PPT)
- 《城市景观生态》PPT课件.ppt
- 工程停止点检查管理(共17页)
评论
0/150
提交评论