名称:万年历设计DE1-SOC开发板年月日时分秒显示(代码在文末下载)
软件:Quartus II
语言:Verilog
代码功能:
万年历要求:
1、实现万年历功能,可以显示年月日,时分秒。
2、支持按键调整时间,年月日,时分秒均可调整。
3、使用按键切换年月日和时分秒的显示。
本代码已在DE1-SOC开发板验证,开发板如下,其他开发板可以通过修改管脚适配:
演示视频:
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
部分代码展示:
module?calendar_top( input?sysclk,//时钟50M input?reset_n,//低电平复位 input?change_en,//调整使能信号,为高电平表示调整信号,低电平不调整 input?display_SW,//显示切换开关,高电平显示年月日,低电平显示时分秒 input?year_hour_key,//年调整信号、小时调整信号 input?month_minute_key,//月调整信号、分钟调整信号 input?day_second_key,//日调整信号、秒调整信号 output?[7:0]?HEX0,//数码管 output?[7:0]?HEX1,//数码管 output?[7:0]?HEX2,//数码管 output?[7:0]?HEX3,//数码管 output?[7:0]?HEX4,//数码管 output?[7:0]?HEX5//数码管 ); wire?[7:0]???year_l_O???; wire?[7:0]???month_O????; wire?[7:0]???day_O??????; wire?[7:0]???hour_O?????; wire?[7:0]???minute_O???; wire?[7:0]???second_O???; //万年历计时模块 calendar?i_calendar ( .?sysclk(sysclk), .?reset_n(reset_n), .?change_en(change_en),//调整使能信号,为高电平表示调整信号,低电平不调整 .?display_SW(display_SW),//显示切换开关,高电平显示年月日,低电平显示时分秒 .?year_hour_key(year_hour_key),//年调整信号、小时调整信号 .?month_minute_key(month_minute_key),//月调整信号、分钟调整信号 .?day_second_key(day_second_key),//日调整信号、秒调整信号 .?year_l_O???(year_l_O), .?month_O????(month_O), .?day_O??????(day_O), .?hour_O?????(hour_O), .?minute_O???(minute_O), .?second_O???(second_O) ); //数码管显示模块 display?i_display( .?sysclk(sysclk),//时钟50M .?reset_n(reset_n),//低电平复位 .?display_SW(display_SW),//显示切换开关,高电平显示年月日,低电平显示时分秒 .?year_l_O???(year_l_O), .?month_O????(month_O), .?day_O??????(day_O), .?hour_O?????(hour_O), .?minute_O???(minute_O), .?second_O???(second_O), .?HEX0(HEX0),//数码管 .?HEX1(HEX1), .?HEX2(HEX2), .?HEX3(HEX3), .?HEX4(HEX4), .?HEX5(HEX5) ); endmodule
设计文档:
1. 工程文件

2. 程序文件



3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图
图1

图2

图3

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=249
阅读全文
634