软件:Quartus
语言:Verilog
代码功能:
计时电路设计
(1)具有小时、分钟、秒计时功能,并在数码管上实时显示,显示模式为12小时制和24小时制可选;
(2)可以对时钟进行设置;
(3)具有设置闹钟使能、设置功能,并能进行闹钟提醒。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
QuartusII 9.0版本
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
整体仿真图
设置闹钟模块
闹钟模块
数码管显示模块
分频模块
模式设置模块
计时模块
部分代码展示:
//设置闹钟模块 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;//秒
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1376
阅读全文
620