名稱(chēng):多路彩燈控制器led流水燈VHDL速度可調(diào)(代碼在文末付費(fèi)下載)
軟件:Quartus
語(yǔ)言:VHDL
代碼功能:
使用VHDL設(shè)計(jì)彩燈控制器,共24個(gè)led燈,分為5種不同的花樣,可以通過(guò)按鍵切換花樣的變化速度。
演示視頻:
部分代碼展示
LIBRARY?ieee; ???USE?ieee.std_logic_1164.all; ???USE?ieee.std_logic_unsigned.all; --彩燈控制模塊 ENTITY?caideng_ctrl?IS ???PORT?( ??????clk_div??:?IN?STD_LOGIC;--控制時(shí)鐘 ??????reset_p??:?IN?STD_LOGIC;--高電平復(fù)位 ??????led??????:?OUT?STD_LOGIC_VECTOR(23?DOWNTO?0)--輸出燈 ???); END?caideng_ctrl; ARCHITECTURE?ctrl?OF?caideng_ctrl?IS ???--中間信號(hào) ???SIGNAL?led_buf?????:?STD_LOGIC_VECTOR(23?DOWNTO?0)?:=?"000000000000000000000000"; ???SIGNAL?state_count?:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000";--狀態(tài)計(jì)數(shù)器 BEGIN ???PROCESS?(clk_div,?reset_p) ???BEGIN ??????IF?(reset_p?=?'1')?THEN--復(fù)位清零 ?????????state_count?<=?"00000000"; ??????ELSIF?(clk_div'EVENT?AND?clk_div?=?'1')?THEN ?????????IF?(state_count?=?"01010001")?THEN ????????????state_count?<=?"00000000";--運(yùn)行結(jié)束后循環(huán) ?????????ELSE ????????????state_count?<=?state_count?+?"00000001";--計(jì)數(shù) ?????????END?IF; ??????END?IF; ???END?PROCESS; ??? ???led<=led_buf; ???PROCESS?(clk_div,?reset_p) ???BEGIN ??????IF?(reset_p?=?'1')?THEN--復(fù)位清零 ?????????led_buf?<=?"000000000000000000000000"; ??????ELSIF?(clk_div'EVENT?AND?clk_div?=?'1')?THEN ?????????CASE?state_count?IS ????--模式1 ????????????WHEN?"00000000"?=> ???????????????led_buf?<=?"000000000000000000000000"; ????????????WHEN?"00000001"?=> ???????????????led_buf?<=?"110011100011100011000110"; ????????????WHEN?"00000010"?=> ???????????????led_buf?<=?"001100111000111000111001"; ????????????WHEN?"00000011"?=> ???????????????led_buf?<=?"101110001110001110011100"; ????????????WHEN?"00000100"?=> ???????????????led_buf?<=?"000111000111000111001110"; ????????????WHEN?"00000101"?=> ???????????????led_buf?<=?"001100011100011100011100"; ????????????--模式2 WHEN?"00000110"?=> ???????????????led_buf?<=?"100000000000000000000000"; ????????????WHEN?"00000111"?=> ???????????????led_buf?<=?"101000000000000000000000"; ????????????WHEN?"00001000"?=>
設(shè)計(jì)文檔(文檔點(diǎn)擊可下載):
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 仿真文件
Testbench
6. 仿真圖
閱讀全文