目录
概述
设计功能
数字秒表设计的目的
模块仿真
设计代码
概述
该设计是用于体育比赛的数字秒表,基于FPGA在Quartus II 9.0sp2软件下应用VHDL语言编写程序,采用ALTRA公司CycloneII系列的EP2C8Q208芯片进行了计算机仿真,并给出了相应的仿真结果。本设计有效的克服了传统的数字秒表的缺点采用EDA技术采取自上而下的设计思路。绘制出了具体的逻辑电路,最后又通过硬件上对其进行调试和验证。该电路能够实现很好的计时功能,计时精度高,最长计时时间可达一个小时。
设计功能
1、完成一个带有时分秒显示的数字秒表; 2、12、24小时可以调节; 3、能作秒表计时; 4、能够倒计时显示;
数字秒表设计的目的
本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的。(此处省略)
模块仿真
![](https://img-blog.csdnimg.cn/ad1fdcf39cfb43649a0dcc953798b872.png)
![](https://img-blog.csdnimg.cn/d3219bde2fc740698db619133ee2396e.png)
![](https://img-blog.csdnimg.cn/a6e344f4daab4c5a87345bd6ec62df56.png)
设计代码
(代码较长,完整工程免费分享,需要获取可关注:FPGA苑)
module time_clock(
clk,
reset_n,
hour_select_key,
second_counter_key,
second_countdown_key,
pause_key,
duan,
wei
);
input clk; //clk:50MHZ时钟输入;
input reset_n; //复位信号输入,低电平有效;
input hour_select_key; //12、24小时可以调节按键,当为‘1’时为24,‘0’时为12小时;
input second_counter_key; //当该按键为‘1’时为秒表计时功能,‘0’时为正常功能;
input second_countdown_key; //当该按键为‘1’时为倒计时功能,‘0’时为正常功能;
input pause_key; //暂停功能按键,进行秒表计时和倒计时时可以通过该按键进行暂停,‘1’暂停,‘0’继续
output [7:0] duan; //duan:数码管段码;
output [7:0] wei; //wei:数码管位码;
reg [7:0] duan; //duan:数码管段码;
reg [7:0] wei; //wei:数码管位码;
reg [24:0] count; //1HZ时钟计数器
reg [13:0] count2; //扫描时钟计数器
reg clk_1hz; //1HZ时钟信号
reg [3:0] miao_ge; //秒个位数BCD码
reg [2:0] miao_shi; //秒十位BCD二进制码
reg [3:0] fen_ge; //分钟个位数
reg [2:0] fen_shi; //分钟十位数
reg [1:0] shi_ge; //时钟个位数
reg [1:0] shi_shi; //时钟十位数
reg [1:0] shi_select_ge; //时钟选择个位数,用于调节时制
reg [1:0] shi_select_shi; //时钟选择十位数,用于调节时制
reg clk_scan; //数码管扫描时钟
reg [2:0] select; //用于扫描时选择显示位码
//****************************************************************************************************
// 模块名称:秒时钟分频模块
// 功能描述:
//****************************************************************************************************
always @(posedge clk or negedge reset_n)//1HZ时钟进程
begin
if(reset_n == 1'b0)
begin
count |