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

DE0-CV開發(fā)板交通燈控制器紅綠燈VHDL正常和報(bào)警

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

1-2310312319453U.doc

共1個(gè)文件

名稱:DE0-CV開發(fā)板交通燈控制器紅綠燈VHDL正常和報(bào)警(代碼在文末下載)

軟件:QuartusII

語言:VHDL

代碼功能:

要求:設(shè)計(jì)一個(gè)十字路口交通信號(hào)燈的控制電路。分為兩種情況,正常狀態(tài)和報(bào)警狀態(tài)。

1.正常狀態(tài):要求紅、綠燈按一定的規(guī)律亮和滅,并在亮燈期間進(jìn)行倒計(jì)時(shí),且將運(yùn)行時(shí)間用數(shù)碼管顯示出來。

綠燈亮?xí)r,為該車道允許通行信號(hào),紅燈亮?xí)r,為該車道禁止通行信號(hào)。

要求主干道每次通行時(shí)間為 60秒,支干道每次通行時(shí)間為 30 秒。

每次變換運(yùn)行車道前綠燈閃爍,持續(xù)時(shí)間為 5 秒。

即車道要由 X轉(zhuǎn)換為 Y時(shí),X在通行時(shí)間只剩下 5 秒鐘時(shí),綠燈閃爍顯示, Y仍為紅燈。

2.報(bào)警狀態(tài):亮黃燈,蜂鳴器響起。(蜂鳴器高電平觸發(fā))

外接鍵盤:三種模式的切換:高峰,正常,夜晚

高峰:x:綠燈 35S 紅燈25S;y:綠燈 25S 紅燈35S。

夜晚:x:綠燈 45S 紅燈45S;y:綠燈 45S紅燈45S

本代碼已在DE0-CV開發(fā)板驗(yàn)證,開發(fā)板如下,其他開發(fā)板只需要修改管腳即可:

DE0_cv.png

演示視頻:

FPGA代碼Verilog/VHDL代碼資源下載網(wǎng):www.hdlcode.com

部分代碼展示

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
ENTITY?Traffic_Light_Control?IS
???PORT?(
??????clk?????:?IN?STD_LOGIC;--50Mhz
reset??????????:?IN?STD_LOGIC;--復(fù)位
??????key_1??????????:?IN?STD_LOGIC;--正常狀態(tài)按鍵
??????key_2??????????:?IN?STD_LOGIC;--高峰狀態(tài)按鍵
??????key_3??????????:?IN?STD_LOGIC;--夜晚狀態(tài)按鍵
??????sw1????????????:?IN?STD_LOGIC;--主路報(bào)警開關(guān)
??????sw2????????????:?IN?STD_LOGIC;--支路報(bào)警開關(guān)
??????beep????????????:?OUT?STD_LOGIC;--報(bào)警蜂鳴器
??????red_1??????????:?OUT?STD_LOGIC;--主路燈
??????green_1????????:?OUT?STD_LOGIC;--主路燈
??????yellow_1???????:?OUT?STD_LOGIC;--主路燈
??????red_2??????????:?OUT?STD_LOGIC;--支路燈
??????green_2????????:?OUT?STD_LOGIC;--支路燈
??????yellow_2???????:?OUT?STD_LOGIC;--支路燈
??????HEX0????:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);--數(shù)碼管0
??????HEX1????:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);--數(shù)碼管1
??????HEX2????:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);--數(shù)碼管2
??????HEX3????:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0)--數(shù)碼管3
???);
END?Traffic_Light_Control;
ARCHITECTURE?behave?OF?Traffic_Light_Control?IS
--分頻模塊
COMPONENT?CLOCK?IS--?Divide?50MHz?to?1Hz
GENERIC(D?:?INTEGER?:=?50000000);--仿真時(shí)改小為50加快仿真速度,實(shí)際上板驗(yàn)證時(shí)改為50000000
???PORT(CLK:?IN?STD_LOGIC;
?????????DAV:?OUT?STD_LOGIC);
???END?COMPONENT;
--交通燈控制模塊
COMPONENT?Traffic_Light_ctrl?IS
???PORT?(
??????clk????????????:?IN?STD_LOGIC;
??????reset??????????:?IN?STD_LOGIC;
??????clk_1Hz????????:?IN?STD_LOGIC;--1Hz信號(hào)
??????key_1??????????:?IN?STD_LOGIC;--正常狀態(tài)按鍵
??????key_2??????????:?IN?STD_LOGIC;--高峰狀態(tài)按鍵
??????key_3??????????:?IN?STD_LOGIC;--夜晚狀態(tài)按鍵
??????sw1????????????:?IN?STD_LOGIC;--主路報(bào)警開關(guān)
??????sw2????????????:?IN?STD_LOGIC;--支路報(bào)警開關(guān)
beep????????????:?OUT?STD_LOGIC;--報(bào)警蜂鳴器
??????red_1??????????:?OUT?STD_LOGIC;--主路燈
??????green_1????????:?OUT?STD_LOGIC;--主路燈
??????yellow_1???????:?OUT?STD_LOGIC;--主路燈
??????red_2??????????:?OUT?STD_LOGIC;--支路燈
??????green_2????????:?OUT?STD_LOGIC;--支路燈
??????yellow_2???????:?OUT?STD_LOGIC;--支路燈
??????main_time??????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--主路倒計(jì)時(shí)
??????branch_time????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--支路倒計(jì)時(shí)
???);
END?COMPONENT;
--顯示模塊
???COMPONENT?HEX?IS
??????PORT?(
?????????clk?????:?IN?STD_LOGIC;
?????????SMG_1???:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);
?????????SMG_2???:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);
?????????HEX0????:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
?????????HEX1????:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
?????????HEX2????:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0);
?????????HEX3????:?OUT?STD_LOGIC_VECTOR(6?DOWNTO?0)
??????);
???END?COMPONENT;
???SIGNAL?clk_1??????:?STD_LOGIC;
???SIGNAL?main_time????:?STD_LOGIC_VECTOR(7?DOWNTO?0);
???SIGNAL?branch_time????:?STD_LOGIC_VECTOR(7?DOWNTO?0);
BEGIN
???
--分頻到1hz???
???U_CLOCK?:?CLOCK
??????PORT?MAP?(
?????????clk??=>?clk,
?????????dav??=>?clk_1
??????);
--交通燈控制模塊
i_Traffic_Light_ctrl:?Traffic_Light_ctrl
???PORT?MAP(
??????clk????????????=>?clk,
??????reset??????????=>?reset,
??????clk_1Hz????????=>?clk_1,--1Hz信號(hào)
??????key_1??????????=>?key_1,--正常狀態(tài)按鍵
??????key_2??????????=>?key_2,--高峰狀態(tài)按鍵
??????key_3??????????=>?key_3,--夜晚狀態(tài)按鍵
??????sw1????????????=>?sw1,--主路報(bào)警開關(guān)
??????sw2????????????=>?sw2,--支路報(bào)警開關(guān)
beep???????????=>beep,--報(bào)警蜂鳴器
??????red_1??????????=>?red_1,--主路燈
??????green_1????????=>?green_1,--主路燈
??????yellow_1???????=>?yellow_1,--主路燈
??????red_2??????????=>?red_2,--支路燈
??????green_2????????=>?green_2,--支路燈
??????yellow_2???????=>?yellow_2,--支路燈
??????main_time??????=>?main_time,--主路倒計(jì)時(shí)
??????branch_time????=>?branch_time--支路倒計(jì)時(shí)
???);
???
???--數(shù)碼管顯示模塊
???U3?:?HEX
??????PORT?MAP?(
?????????clk????=>?clk,
?????????SMG_1??=>?main_time,--數(shù)碼管數(shù)據(jù)顯示--主路倒計(jì)時(shí)
?????????SMG_2??=>?branch_time,--數(shù)碼管數(shù)據(jù)顯示--支路倒計(jì)時(shí)
?????????
?????????HEX0???=>?HEX0,--低電平亮
?????????HEX1???=>?HEX1,--低電平亮
?????????HEX2???=>?HEX2,--低電平亮
?????????HEX3???=>?HEX3--低電平亮
??????);
???
END?behave;

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

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. 管腳分配

6. Testbench

7. 仿真圖

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

  • 1-2310312319453U.doc
    下載

相關(guān)推薦