内任意倒计时器设计Verilog代码ISE basys2开发板
名称:内任意倒计时器设计Verilog代码ISE basys2开发板
软件:ISE
语言:Verilog
代码功能:
内任意倒计时器设计
基于fpga实现9999秒以内任意倒计时器,倒计完成有LED提示
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在basys2开发板验证,basys2开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件

2. 程序文件





3. 程序编译

4. RTL图

5. testbench

6. 仿真图
整体仿真图






分频模块

起始时间设置模块

倒计时模块

显示模块


部分代码展示:
//时间倒计时 module time_down( input clk_1Hz,//1Hz时钟 input reset,//复位 input start_key,//开始 output LED, input [3:0]s_set,//起始千位 input [3:0]h_set,//起始百位 input [3:0]t_set,//起始十位 input [3:0]o_set,//起始个位 output [3:0]s_time,//输出时间千位 output [3:0]h_time,//输出时间百位 output [3:0]t_time,//输出时间十位 output [3:0]o_time //输出时间个位 ); reg [3:0]time_1000;//时间千位 reg [3:0]time_100;//时间百位 reg [3:0]time_10;//时间十位 reg [3:0]time_1;//时间个位 reg [2:0] state=3'd0; parameter s_set_time=3'd0; parameter s_down=3'd1; parameter s_stop=3'd2; always@(posedge clk_1Hz or posedge reset) if(reset) state<=s_set_time; else case(state) s_set_time://设置起始时间 if(start_key==1)//按下开始按键 state<=s_down; else state<=s_set_time; s_down://倒计时状态 if(time_1000==4'd0 && time_100==4'd0 && time_10==4'd0 && time_1==4'd0)//倒计时结束 state<=s_stop; else state<=s_down; s_stop://结束状态 state<=s_stop; default:; endcase //倒计时控制 always@(posedge clk_1Hz or posedge reset) if(reset) begin time_1000<=4'd0;//时间千位 time_100 <=4'd0;//时间百位 time_10 <=4'd0;//时间十位 time_1 <=4'd0;//时间个位 end else if(state==s_set_time)//设置起始时间状态 begin time_1000<=s_set;//起始千位 time_100 <=h_set;//起始百位 time_10 <=t_set;//起始十位 time_1 <=o_set;//起始个位 end else if(state==s_down)//倒计时状态 if(time_1000==4'd0 && time_100==4'd0 && time_10==4'd0 && time_1==4'd0) begin time_1000<=4'd0;//时间千位 time_100 <=4'd0;//时间百位 time_10 <=4'd0;//时间十位 time_1 <=4'd0;//时间个位 end else if(time_100==4'd0 && time_10==4'd0 && time_1==4'd0) begin
代码文件(付费下载):
![]()
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 内任意倒计时器设计Verilog代码ISE basys2开发板
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 内任意倒计时器设计Verilog代码ISE basys2开发板
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm