矩阵键盘显示,六位数码管滚动显示
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京邮电大学课程设计报告
设计类别: EDA-VHDL
专业名称: 通信工程
班级学号: B09010504 学生姓名: 张嫣艳
基本题 : 矩阵键盘按键的数码管显示
综合题 : 数码管学号滚动显示
同小组成员:
学号:B09010502
姓名:沈沁芳
指导教师: 王奇、梅中辉、周晓燕、孔凡坤日期:2012年3月5日—3月30日
目录
一矩阵键盘按键的数码管显示
1.实验目的--------------------------------------------------------------------- 3 2.实验所用仪器及元器件----------------------------------------------------3 3.实验任务要求----------------------------------------------------------------3
4. 设计思路-----------------------------------------------------------------------3
5. 模块分析-----------------------------------------------------------------------3
6. 逻辑仿真图及功能分析-----------------------------------------------------4
7. 调试过程与问题--------------------------------------------------------------8
8. 实验总结-----------------------------------------------------------------------8
9. 附录(VHDL源程序)-----------------------------------------------------8
二数码管学号滚动显示
1.实验目的----------------------------------------------------------------------12 2.实验所用仪器及元器件----------------------------------------------------12 3.实验任务要求----------------------------------------------------------------13
4. 设计思路----------------------------------------------------------------------13
5. 模块分析----------------------------------------------------------------------13
6. 逻辑仿真图及功能分析----------------------------------------------------16
7. 调试过程与问题-------------------------------------------------------------18
8. 实验总结----------------------------------------------------------------------18
9. 附录(VHDL源程序)----------------------------------------------------18
一矩阵键盘按键的数码管显示
1.实验目的
(1).使学生全面了解如何应用该硬件描述语言进行高速集成电路设计;
(2).通过软件设计环节与仿真环节使学生熟悉Quartus II设计与仿真环境;
(3).通过对基本题、综合题的设计实践,使学生掌握硬件系统设计方法(自底向上或自顶向下),熟悉VHDL语言三种设计风格,熟悉其芯片硬件实现的过程。
2.实验所用仪器及元器件
(1)PC机
(2)ALtera CPLD硬件实验开发系统
(3)设计软件(Quartus II )
3.实验任务要求
要求学生设计出4*4矩阵键盘对某一按键按下就在数码管显示一个数字。按键从左上角到右下角依次为1,2, (16)
4. 设计思路
首先一个4*4矩阵键盘中有四行四列,先假设键盘自上至下的第一行的四个键分别代表01,02,03,04;第二行四个键分别代表05,06,07,08;第三行四个键分别代表09,10,11,12;第四行分别代表13,14,15,16。
题目的意思是任意按下一个键,输出端会输出相应的数字,而每个键被选中的条件是它的行数和列数被选中,也就是在仿真中可以假设选中的行数和列数是0电平,而其他的行数和列数都是1电平。
所以输入端应是行数与列数,而输出端是两个数码管的显示。
5. 模块分析
(1)输入输出解释
输入: clk ------时钟信号
rst ------清零
row ------行线
column ------列线
输出: dataout1 ------数码管显示数据,个位
dataout2 ------数码管显示数据,十位
en ------数码管显示使能
(2)模块解释
PROCESS(clk,rst)
BEGIN
IF (NOT rst = '1') THEN
key_code <= "0000";
ELSIF(clk'EVENT AND clk='1')THEN --上升沿有效
CASE row IS --检测何处有键按下