名称:简易计时闹钟(代码在文末付费下载)
软件:ISE
语言:Verilog
要求:
简易计时闹钟:有四位数码管,前两位计分钟,表示00~99分钟,后面两位记秒,值为00~59秒。有三个按键,第一个是分键,第二个是秒键,第三个是启动/暂停键。功能:分秒两键同时按下清零且停止计时,外于设置态,按一次分键分钟加1, 99增1变为0;按一次秒键秒增1,59增1变为0。此状态下按启动/暂停键开始计时,设置值为0000则为正计时,设置值为非零值则为倒计时。
正计时时,按启动/暂停键会暂停计时,再按启动/暂停键则会继续计时。倒计时时,减到零时停止减数且发出警示蜂鸣声,直到启动/暂停键被按下时进入设置态且同时显示前设置值和停止发出蜂鸣声。
代码下载:简易计时闹钟ISE_Verilog/VHDL资源下载
代码网:hdlcode.com
设计文档(文档点击可下载):
- 工程文件

- 程序文件

- 程序编译

- Testbench

- 仿真图
整体仿真图

正计时

暂停

暂停后重启

分秒同时按下,设置时间2分4秒,开始倒计时

倒计时结束蜂鸣器buzzer_call拉高

再按下启动键,进入设置态且同时显示前设置值和停止发出蜂鸣声

顶层端口
//简易计时闹钟
module time_count(
sys_clk,//系统时钟100Hz
minute_BTN,//分按键
second_BTN,//秒按键
begin_BTN,//启动按键
SEG_min1,//分钟十位
SEG_min2,//分钟个位
SEG_sec1,//秒钟十位
SEG_sec2,//秒钟个位
buzzer_call//蜂鸣器
);
input sys_clk;//系统时钟100Hz
input minute_BTN;//分按键
input second_BTN;//秒按键
input begin_BTN;//启动按键
output reg [7:0] SEG_min1;//分钟十位
output reg [7:0] SEG_min2;//分钟个位
output reg [7:0] SEG_sec1;//秒钟十位
output reg [7:0] SEG_sec2;//秒钟个位
output buzzer_call;//蜂鸣器