9999秒以内任意倒计时器,倒计完成有LED提示Verilog代码ISE basys2开发板

名称:9999秒以内任意倒计时器,倒计完成有LED提示Verilog代码ISEbasys2开发板 (文末获取)  

软件:Quartus(文末获取)

语言:Verilog

代码功能:9999秒以内任意倒计时器,倒计完成有LED提示

本代码已在 basys2开发板 验证, basys2开发板 如下,其他开发板可以修改管脚适配:

basys2开发板.png

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. testbench

6. 仿真图

整体仿真图

分频模块

起始时间设置模块

倒计时模块

显示模块

部分代码展示:

//时间设置
module time_set(
input clk_1Hz,//1Hz时钟
input s_key,//千位按键
input h_key,//百位按键
input t_key,//十位按键
input o_key,//个位按键
output [3:0]s_set,//千位
output [3:0]h_set,//百位
output [3:0]t_set,//十位
output [3:0]o_set //个位
);
reg [3:0]s_set_time=4'd0;//千位
reg [3:0]h_set_time=4'd0;//百位
reg [3:0]t_set_time=4'd0;//十位
reg [3:0]o_set_time=4'd0;//个位
always@(posedge clk_1Hz)
if(s_key==1)//按下按键设置千位
if(s_set_time==4'd9)//计数到9回0
s_set_time<=4'd0;
else
s_set_time<=s_set_time+4'd1;//计数
always@(posedge clk_1Hz)
if(h_key==1)//按下按键设置百位
if(h_set_time==4'd9)//计数到9回0
h_set_time<=4'd0;
else
h_set_time<=h_set_time+4'd1;//计数
always@(posedge clk_1Hz)
if(t_key==1)//按下按键设置十位
if(t_set_time==4'd9)//计数到9回0
t_set_time<=4'd0;
else
t_set_time<=t_set_time+4'd1;//计数
always@(posedge clk_1Hz)
if(o_key==1)//按下按键设置个位
if(o_set_time==4'd9)//计数到9回0
o_set_time<=4'd0;
else
o_set_time<=o_set_time+4'd1;//计数
//输出
assign s_set=s_set_time;//千位
assign h_set=h_set_time;//百位
assign t_set=t_set_time;//十位
assign o_set=o_set_time;//个位
源代码

 扫描文章末尾的公众号二维码

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值