一、设计任务与技术指标
试设计并制作一个用七段数码管显示的秒表,并具有如下指标:
- 设计一个用七段数码管显示的秒表,它有“分”、“秒”、“百分之一秒” 的十进制显示功能,如图 1 所示:
图1 秒表表盘示意图
- 开机显示 00.00.00,最大显示 59.59.99;
- 能够准确地计时并正确显示时间,计时精度 0.01 秒; 4. 用户可以随时开始计时,也可以随时结束计时;
二、设计原理
该系统由时钟信号发生器、分频电路、计时电路、译码显示电路等模块组成。
1.时钟信号发生器
DE2-115开发板板载晶振频率为50MHZ。
2.分频电路的设计(要求仿真分析波形)
设输入频率为50MHz的脉冲信号,要求得到100Hz的脉冲信号,那么分频系
数的计算公式如下:
3.计时电路(要求仿真分析波形)
在数字电路中,计时电路一般是用计数器来实现的,例如时间的“百分之一秒”与“秒”是一个 100 进制的问题;而“秒”与“分”是一个 60 进制的问题。但考虑到数码管是分“个位”和“十位”显示,所以 100 进制需要采用两个 10 进制计数器完成;而 60 进制需要采用 1 个 10 进制和一个 6 进制计数器完成。且6 进制计数器的输出也是四位二进制矢量格式。
4.数码管译码显示电路表 4-1 7 段数码管显示译码器功能表
输入 | 输出(段码) | 输入 | 输出(段码) | ||
要显示的数(十进制) | 要显示的数(二进制) | HEX[6..0] | 要显示的数(十进制) | 要显示的数(二进制) | HEX[6..0] |
0 | 0000 | 1000000 | 5 | 0101 | 0010010 |
1 | 0001 | 1111001 | 6 | 0110 | 0000010 |
2 | 0010 | 0100100 | 7 | 0111 | 1111000 |
3 | 0011 | 0110000 | 8 | 1000 | 0000000 |
4 | 0100 | 0011001 | 9 | 1001 | 0010000 |
三、系统顶层电路原理图设计
分别设计100hz分频电路、计时电路、译码显示电路的verilog程序,转出可以用的元器件,然后再构建原理图,如下图:
这是最终完成的原理图 ,实现秒表计时。
四、仿真结果
仿真部分结果图
注:该仿真的周期是用50Khz,避免仿真时间过长,源文件是50Mhz。hex的值是直接和数码管相连。
hex1和hex2分别是显示1/100秒的个位和十位从上图可以看到黄色标注线那hex1的数码管是显示9,下一个hex1显示0,而hex2显示1。其它也是类似的,这里就不给出了。
源文件网盘资源:
链接:https://pan.baidu.com/s/1B4XcbESRT79Cf6UBjcT_MQ
提取码:1234