返回

多功能数字钟的设计实验

多功能数字钟的设计实验
一、实验目的
1、了解数字钟的工作原理。
2、进一步熟悉用VHDL语言编写驱动七段码管显示的代码。
3、掌握VHDL编写中的一些小技巧。
二、实验原理
多功能数字钟应该具有的功能有:显示时——分——秒、整点报时、小时和分钟可调等基本功能。首先要知道钟表的工作机理,整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,但是需要注意的是,小时的范围是从0——23时。
在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从0——59,所以可以用一个3位的二进制码显示十位,用一个四位的二进制码(BCD码)显示个位,对于小时因为它的范围是从0——23,所以可以用一个2位的二进制码显示十位,用4位二进制码(BCD码)显示个位。
实验中由于七段码管是扫描的方式显示,所以虽然时钟需要的是1Hz时钟信号,但是扫描确需要一个比较高频率的信号,因此为了得到准确的1Hz信号,必须对输入的系统时钟进行分频。
对于整点报时功能,用户可以根据系统的硬件结构和自身的具体要求来设计。本实验设计的是当进行整点的倒计时5秒时,让LED来闪烁进行整点报时的提示。
三、实验内容
本实验的任务就是设计一个多功能数字钟,要求显示格式为 小时——分钟——秒钟,整点报时,报时时间为10秒,即从整点前10秒钟开始进行报时提示,喇叭开始发声,直到过整点时,在整点前5秒LED开始闪烁,过整点后,停止闪烁。系统时钟选择时钟模块的10KHz,要得到1Hz时钟信号,必须对系统时钟进行10,000次分频。调整时间的的按键用按键模块的BT1和BT2,BT1调节小时,每按下一次,小时增加一个小时,BT2调整分钟,每按下一次,分钟增加一分钟。另外用BT8按键作为系统时钟复位,复位后全部显示00——00——00。
四、实验步骤
1、打开QUARTUSII软件,新建一个工程。
2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。
3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4、编写完VHDL程序后,保存起来。方法同实验一。
5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改,直到完全通过编译和仿真。
6、编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。
7、根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。
CLK:FPGA时钟,接24MHZ数字时钟。
RST:复位信号,按一个按键开关BT1。
S1、S2:小时、分钟调节,接两个按键开关BT2、BT3。
SPK:整点报时,接喇叭/蜂鸣器接口的蜂鸣器。
DISPLAY[6..0]:显示端口,接数码管模块的A、B、C、D、E、F、G。
SEL[2..]:显示端口,接数码管模块的SEL2,SEL1,SEL0。
8、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致。
五、实验结果与现象
以设计的参考示例为例,当设计文件加载到目标器件后,数码管开始显示时间,从00-00-00开始。在整点的前5秒,喇叭开始发声进行报时,一旦超过整点,喇叭停止发声。按动按键开关的BT2、BT3小时和分钟开始步进,进行时间的调整。按下按键开关的BT1,显示恢复到00-00-00重新开始显示时间。
六、实验报告
1、 绘出仿真波形,并作说明。
2、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
3、 在此实验的基础上试用其它的方法来实现数字钟的功能,并增加其它功能。

X(带手机端)

截屏,微信识别二维码

微信号:13817525788

(点击微信号复制,添加好友)

  打开微信

微信号已复制,请打开微信添加咨询详情!