名稱:音樂流水燈音樂播放器數(shù)碼管(代碼在文末付費下載)
軟件:Quartus
語言:Verilog
要求:
要求設(shè)計一個基于FPGA的帶數(shù)碼管顯示的音樂流水燈裝置。
1、在EDA工具Quartusll13.0平臺上,運用Verilog語言模塊化與層次化的設(shè)計方法,編寫單一狀態(tài)機控制各個模塊,并實現(xiàn)流水燈?閃爍、數(shù)碼管顯示及音樂播放等功能。
2、設(shè)計代碼簡潔,系統(tǒng)穩(wěn)定,便于維護和修改,靈活性強。
3、可根據(jù)用戶的喜好改變樂曲、流水燈閃爍方式以及數(shù)碼管顯示內(nèi)容。
演示視頻:
部分代碼展示
module?music(sysclk,key_speed,key_style,?model_Key,led,?spkout,HEX0); ???input???????????sysclk;//50M晶振 input?key_speed;//切換速度,按下高電平 input?key_style;//切換樣式 ???input???????????model_Key;//歌曲選擇鍵 ???output??????????spkout;//蜂鳴器輸出 output??????[7:0]?led;//流水燈 output??????[7:0]?HEX0;//數(shù)碼管-低亮 wire??model_Key_down; wire???????[9:0]?tonestep; ???wire??????[7:0]?tonecode; wire??????[3:0]?music_num; ???//調(diào)用頻率控制字產(chǎn)生模塊 ???musicdec?u_musicdec ( .tonecode(tonecode),//輸入簡譜 .tonestep(tonestep)//輸出頻率控制字 ); ??? //調(diào)用按鍵消抖模塊 key_jitter?u1_key_jitter( ?????.?clkin(sysclk),??? ?????.?key_in(model_Key),//輸入 ??.?key_negedge(model_Key_down)//消抖后按鍵下降沿 ); //音樂控制模塊 music_ctrl?i_music_ctrl( .sysclk(sysclk),? .model_Key_down(model_Key_down),?//model_Key_down .music_num(music_num), .tonecode(tonecode),//簡譜 .tonestep(tonestep),//頻率控制字 .spkout(spkout)////蜂鳴器輸出 ); //流水燈模塊 water_lamp?i_water_lamp( .?clk_50M(sysclk),//50MHz .?key_speed(key_speed),//切換速度 .?key_style(key_style),//切換樣式 .?led(led)//led流水燈 ); //顯示模塊 display?i_display( .?clk(sysclk), .?music_num(music_num),//當(dāng)前歌曲 .?HEX0(HEX0)//數(shù)碼管-低亮 ); endmodule
設(shè)計文檔(文檔點擊可下載):
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 仿真圖
顯示模塊
流水燈模塊
按鍵消抖模塊
簡譜頻率控制模塊
本代碼已在以下開發(fā)板驗證,開發(fā)板資料:
FPGA開發(fā)板使用手冊V1.0.pdf
大西瓜第一代FPGA開發(fā)板使用手冊V1.0.pdf
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=180