12小时数字钟Verilog代码Quartus 开发板

名称:12小时数字钟Verilog代码Quartus  开发板(文末获取)

软件:Quartus

语言:Verilog

代码功能:

12小时数字钟

1. 设计一个能显示1/10秒、秒、分、时的12小时数字钟。 

2. 熟练掌握各种计数器的使用。 

3. 能用计数器构成十进制、六十进制、十二进制等所需进制的计数器。 

4. 能用低位的进位输出构成高位的计数脉冲。

5.完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。 

教学提示: 

1、时钟源使用频率为0.1Hz的连续脉冲。

2、设置两个按钮,一个供“开始”及“停止”用,一个供系统“复位”用。 

3、时钟显示使用数码管显示。 

4、“时显示”部分应注意12点后显示1点。 

5、注意各部分的关系,由低位到高位逐级设计、调试。

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

开发板.png

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. RTL图(电路结构图)

6. testbench

7. 仿真图

部分代码展示:

//十进制
module counter_10
(
input clk,//时钟
input reset_key,//系统“复位”用
output [3:0] cnt,//计数值
output reg cout//计满进位
);
parameter num=4'd10;
reg [3:0] cnt_buf=4'd0;//计数值
always@(posedge clk or negedge reset_key)
if(reset_key==0)begin//系统“复位”用
cnt_buf<=0;
cout<=0;
end
else//正常计数
if(cnt_buf<num-4'd1)begin
cnt_buf<=cnt_buf+4'd1;//计数0——9
cout<=0;
end
else begin
cnt_buf<=4'd0;//计数0——9
cout<=1;
end
assign cnt=cnt_buf;
endmodule
源代码

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

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于verilogFPGA数字秒表设计实验QUARTUS工程源码+文档说明资料 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; //用于扫描时选择显示位码 //**************************************************************************************************** // 模块名称:秒时钟分频模块 // 功能描述: //*******************************************************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值