VHDL数码管动态扫描显示实验完整版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生实验报告
实验课名称:VHDL硬件描述语言
实验项目名称:七段数码管译码扫描显示
专业名称:电子科学与技术
班级:***
学号:***
学生姓名:***
教师姓名:***
__2020__年_11_月_06_日
组别_____________________同组同学_______________________
实验日期_____年___月___日实验室名称______________成绩_____
一、实验名称:七段数码管译码扫描显示
二、实验目的与要求:
实验目的:通过对译码和串行扫描电路的设计,理解多位数码管串行扫描输
出的工作原理以及七段数码管的译码以及串行扫描输出的设计方法。
实验要求:通过VHDL编程,实现7段数码管的译码输出,并通过所设计的串行扫描控制,对8个7段数码管扫描输出,要求8个数码管从左到右分别显示“1”、“2” 、“3” 、“4” 、“5” 、“6” 、“7” 、“8”,并且每一位都对应有一个显示控制端,当控制端为高电平时,对应数码管点亮,否则熄灭。
具体
接口如下所示:
clk:时钟输入端,此信号是串行扫描的同步信号。
data_control[7..0]:8个分别控制数码管显示的输入
信号;
led_addr[7..0]:对8个数码管进行串行扫描的输出控制信号;
seg7_data[6..0]:驱动7段数码管各显示段的输出信号;
首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。
在硬件实现中,要求:
1. 用实验平台的8个数码管输出显示(共阴接法),并且用其下方的8个按键分别控制对应数码管的显示与否。
注:采用I/O模式5实现输入控制和输出显示方式。
为了实现数码管的串行扫描,必须把数码管连接成串行控制输出电路。
2. 扫描所用的时钟信号采用实验平台的clock0时钟资源:
可以通过跳线选择不同的时钟频率,此频率不能选择的太高或太低,频率太低将不满足人眼视觉暂留特性的要求,频率太高,器件速度跟不上,地址和数据无法在1个时钟周期大部分时间内对准,造成显示模糊不清。
注:开发平台的适配板上有20MHz时钟资源,通过适配板上的跳线可以选择采用适配板的固定20MHz频率信号或者I/O板上的clock0时钟资源(此两类时钟在管脚映射表中都称为clock0),适配板上的跳线如下所示:
单击Next>,指定第三方工具,这里我们不指定第三方结束工程建立。
建立编译VHDL文件:
、单击File\New菜单项,选择弹出窗口中的VHDL File
七、实验结果与分析:
1、功能仿真:
2、时序仿真:
分析:经过仿真,刚开始时led_ledder和seg7_data每一位均为’0’,刚开始还以为是程序出错了,但后来发现,只是起始时间是这样,因为clk的时钟脉冲还没有到来,所以各位默认为’0’,只是虚惊一场。
时序仿真虽噪声比较多,但并不影响,所以可以下载进行实物仿真。
3、下载后实物操作:
说明:I/O模式5实现输入控制和输出显示方式,并且跳线必须下置,以实现数码管的串行扫描接法,并且选择比较高的频率,这样看的比较清楚。