数字钟设计Verilog代码Quartus DE2-115开发板

名称:数字钟设计Verilog代码Quartus  DE2-115开发板

软件:Quartus

语言:Verilog

代码功能:

基于 Verilog HDL数字钟的设计内容及要求:

1.该时钟具有时、分、秒显示功能,采用BCD码计数方式

2.该数字钟具有复位、整点报时

3.通过开关设置,可以对时、分进行手动校准,校准按递增的方式增加

4.扩展功能:具有闹铃功能

Z011.jpg

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

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

演示视频:

设计文档:

数字钟设计文档.doc

1. 

控制方法:

2个拨码开关SW0和SW1控制模式:

SW0=0,SW1=0为正常计时模式;

SW0=0,SW1=1为修改时间模式;

SW0=1,SW1=0为显示闹钟时间模式;

SW0=1,SW1=1为修改闹钟时间模式;

2个按键,key0修改小时,key1修改分钟:

将拨码开关设置为SW0=0,SW1=1,此时可以修改当前时间;

将拨码开关设置为SW0=1,SW1=1,此时可以修改闹钟时间;


2. 工程文件


3. 程序文件


4. 程序编译


5. 程序RTL图


6. 管脚分配


7. 仿真图


分频模块,用于将50MHz时钟分频到1Hz


设置模式模块,根据按键输入控制当前的模式,模式用led灯显示



计时模块,用于控制数字钟计时,也可以设置时间

上图可以看到state_mode为0001时,AHkey和AMkey可以控制小时和分钟

state_mode不为0001时,正常计时,秒钟计数到59,分钟加1,秒清零


闹钟设置模块


上图可以看到state_mode为0011时,AHkey和AMkey可以控制小时和分钟


闹钟响铃模块



上图可以看到,当分钟和小时一致时,闹钟响铃,bell_out为高电平


显示模块


用于数码管译码显示


部分代码展示:

//设置闹钟模块
module alarm_clock(
input clk_50M,
input [3:0] state_mode,////当前模式,4'd0:计时,4'd1设置时间 ,4'd2显示闹钟时间,4'd3设置闹钟时间
input AH_key,//AH 修改小时
input AM_key,//AM 修改分钟
output [7:0] alarm_hour_time,//时
output [7:0] alarm_minute_time,//分
output [7:0] alarm_second_time//秒
);
wire AH_key_negedge;
wire AM_key_negedge;
reg AH_key_buf0;
reg AH_key_buf1;
reg AM_key_buf0;
reg AM_key_buf1;
always@(posedge clk_50M)
begin
AH_key_buf0<=AH_key;
AH_key_buf1<=AH_key_buf0;
end
always@(posedge clk_50M)
begin
AM_key_buf0<=AM_key;
AM_key_buf1<=AM_key_buf0;
end
assign AH_key_negedge=~AH_key_buf0 & AH_key_buf1;//按键下降沿
assign AM_key_negedge=~AM_key_buf0 & AM_key_buf1;//按键下降沿
reg [7:0] hour=8'd21;//时
reg [7:0] minute=8'd59;//分
reg [7:0] second=8'd00;//秒

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 数字钟设计Verilog代码Quartus DE2-115开发板

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员