• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

Quartus交通燈控制器VHDL代碼

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-23122G6325aL.doc

共1個(gè)文件

名稱:Quartus交通燈控制器VHDL代碼

軟件:Quartus

語(yǔ)言:VHDL

代碼功能:交通燈

20230607220908.jpg

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

Bdf

Vhd

3. 程序編譯

4. RTL圖

5. 仿真圖

圖中,設(shè)置d1為15,d2為10,d3為5.即路口1綠燈為15秒,黃燈為5秒;路口2綠燈為10秒,黃燈為5秒。

圖中R1,G1,Y1分別表示路口1的紅、綠、黃燈。

圖中R2,G2,Y2分別表示路口2的紅、綠、黃燈。

可以看出,實(shí)現(xiàn)了路口1綠燈為15秒,黃燈為5秒;路口2綠燈為10秒,黃燈為5秒的功能

部分代碼展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--LED控制模塊
ENTITY?RGY_led?IS
???PORT?(
??????clk????:?IN?STD_LOGIC;
??state?????:?IN?STD_LOGIC_VECTOR(2?DOWNTO?0);--狀態(tài)機(jī)
??????R1???????:?OUT?STD_LOGIC;--紅綠燈信號(hào)
??????G1???????:?OUT?STD_LOGIC;--紅綠燈信號(hào)
??????Y1???????:?OUT?STD_LOGIC;--紅綠燈信號(hào)
??????R2???????:?OUT?STD_LOGIC;--紅綠燈信號(hào)
??????G2???????:?OUT?STD_LOGIC;--紅綠燈信號(hào)
??????Y2???????:?OUT?STD_LOGIC--紅綠燈信號(hào)
???);
END?RGY_led;
ARCHITECTURE?behave?OF?RGY_led?IS
???SIGNAL?R1_temp?:?STD_LOGIC:='0';
???SIGNAL?G1_temp?:?STD_LOGIC:='0';
???SIGNAL?Y1_temp?:?STD_LOGIC:='0';
???SIGNAL?R2_temp?:?STD_LOGIC:='0';
???SIGNAL?G2_temp?:?STD_LOGIC:='0';
???SIGNAL?Y2_temp?:?STD_LOGIC:='0';
BEGIN
???R1?<=?R1_temp;--紅
???G1?<=?G1_temp;--綠
???Y1?<=?Y1_temp;--黃
???R2?<=?R2_temp;--紅
???G2?<=?G2_temp;--綠
???Y2?<=?Y2_temp;--黃
???
?
???--控制東西方向交通燈
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?(state?=?"001")?THEN
????????????G1_temp?<=?'1';
?????????ELSE
????????????G1_temp?<=?'0';
?????????END?IF;
?????????IF?(state?=?"010")?THEN
????????????Y1_temp?<=?'1';
?????????ELSE
????????????Y1_temp?<=?'0';
?????????END?IF;
?????????IF?(state?=?"011"?OR?state?=?"100")?THEN
????????????R1_temp?<=?'1';
?????????ELSE
????????????R1_temp?<=?'0';
?????????END?IF;
??????END?IF;
???END?PROCESS;
???
???--控制南北方向交通燈
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?(state?=?"011")?THEN
????????????G2_temp?<=?'1';
?????????ELSE
????????????G2_temp?<=?'0';
?????????END?IF;
?????????IF?(state?=?"100"?)?THEN
????????????Y2_temp?<=?'1';
?????????ELSE
????????????Y2_temp?<=?'0';
?????????END?IF;
?????????IF?(state?=?"001"?OR?state?=?"010")?THEN
????????????R2_temp?<=?'1';
?????????ELSE
????????????R2_temp?<=?'0';
?????????END?IF;
??????END?IF;
???END?PROCESS;
???
?
END?behave;

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=430

  • 2-23122G6325aL.doc
    下載

相關(guān)推薦