名稱:萬年歷設計DE1-SOC開發(fā)板年月日時分秒顯示(代碼在文末下載)
軟件:Quartus II
語言:Verilog
代碼功能:
萬年歷要求:
1、實現(xiàn)萬年歷功能,可以顯示年月日,時分秒。
2、支持按鍵調(diào)整時間,年月日,時分秒均可調(diào)整。
3、使用按鍵切換年月日和時分秒的顯示。
本代碼已在DE1-SOC開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以通過修改管腳適配:
演示視頻:
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
部分代碼展示:
module?calendar_top( input?sysclk,//時鐘50M input?reset_n,//低電平復位 input?change_en,//調(diào)整使能信號,為高電平表示調(diào)整信號,低電平不調(diào)整 input?display_SW,//顯示切換開關(guān),高電平顯示年月日,低電平顯示時分秒 input?year_hour_key,//年調(diào)整信號、小時調(diào)整信號 input?month_minute_key,//月調(diào)整信號、分鐘調(diào)整信號 input?day_second_key,//日調(diào)整信號、秒調(diào)整信號 output?[7:0]?HEX0,//數(shù)碼管 output?[7:0]?HEX1,//數(shù)碼管 output?[7:0]?HEX2,//數(shù)碼管 output?[7:0]?HEX3,//數(shù)碼管 output?[7:0]?HEX4,//數(shù)碼管 output?[7:0]?HEX5//數(shù)碼管 ); 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),//調(diào)整使能信號,為高電平表示調(diào)整信號,低電平不調(diào)整 .?display_SW(display_SW),//顯示切換開關(guān),高電平顯示年月日,低電平顯示時分秒 .?year_hour_key(year_hour_key),//年調(diào)整信號、小時調(diào)整信號 .?month_minute_key(month_minute_key),//月調(diào)整信號、分鐘調(diào)整信號 .?day_second_key(day_second_key),//日調(diào)整信號、秒調(diào)整信號 .?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) ); //數(shù)碼管顯示模塊 display?i_display( .?sysclk(sysclk),//時鐘50M .?reset_n(reset_n),//低電平復位 .?display_SW(display_SW),//顯示切換開關(guān),高電平顯示年月日,低電平顯示時分秒 .?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),//數(shù)碼管 .?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
閱讀全文