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

十字路口交通燈控制器帶左轉(zhuǎn)燈Verilog代碼Quartus仿真

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

2-240110153245496.doc

共1個文件

名稱:十字路口交通燈控制器帶左轉(zhuǎn)燈Verilog代碼Quartus仿真

軟件:Quartus

語言:Verilog

代碼功能:

(1)設(shè)計任務(wù)—交通燈控制器

利用VerilogHDL語言設(shè)計一個十字路口交通燈控制器,其示意圖如下圖1所示,A方向與B方向各設(shè)紅(R),黃(Y),綠(G),和左拐(L)四種燈,四種燈按合理的順序亮滅,并能將燈亮的時間以倒計時的形式顯示出來。

兩個方向這種燈亮的時間應(yīng)該能夠非常方便地進(jìn)行設(shè)置和修改,此外假設(shè)A方向是主干路,車流量大,因此A方向同行的時間應(yīng)該比B方向長一些。

圖1

(2)交通的控制器狀態(tài)表

交通燈控制器的狀態(tài)轉(zhuǎn)換表如表1所示,表中1表示燈亮,0表示燈滅。A方向和B方向的紅、黃、綠和左拐燈分別用R1、Y1、G1、L1和R2、Y2、G2、L2來表示。

? ? ? ? ? ? ? ?A方向

? ? ? ? ? ? ? ?B方向

綠燈

(G1)

黃燈

(Y1)

左拐燈

(L1)

紅燈

(R1)

綠燈

(G2)

黃燈

(Y2)

左拐燈

(L2)

紅燈

(R2)

1

0

0

0

0

0

0

1

0

1

0

0

0

0

0

1

0

0

1

0

0

0

0

1

0

1

0

0

0

0

0

1

0

0

0

1

1

0

0

0

0

0

0

1

0

1

0

0

0

0

0

1

0

0

1

0

0

0

0

1

0

1

0

0

從狀態(tài)轉(zhuǎn)換表中可以看出,每個方向四種燈依次按如下順序點亮,并不斷循環(huán):

綠燈- 黃燈 左拐燈 黃燈 紅燈。

并且沒個方向紅燈亮的時間與另一方向綠、黃、左拐、黃燈亮的時間相等。黃燈所起的作用是用來在綠燈和左拐燈后進(jìn)行緩沖,以提醒行人該方向馬上要禁行了。

其中A方向紅、綠、黃、左拐燈亮的時間分別為:55秒、40秒、5秒和15秒,B方向紅、綠、黃、左拐燈亮的時間分別為:65秒、30秒、5秒和15秒。要求輸出的燈亮?xí)r間用BCD碼。

A是55秒,B是65秒(因為A是主干路)

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

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. Testbench(仿真代碼)

6. 仿真圖

整體仿真圖

分頻模塊仿真圖

狀態(tài)機(jī)控制模塊仿真圖

顯示模塊仿真圖

部分代碼展示:

//交通燈
module?trafic(
input?clk,//50M
input?key,//復(fù)位
output?main_red,//主干道紅燈
output?main_green,//主干道綠燈
output?main_yellow,//主干道黃燈
output?main_left,//主干道左轉(zhuǎn)燈
output?branch_red,//支干道紅燈
output?branch_green,//支干道綠燈
output?branch_yellow,//支干道黃燈
output?branch_left,//支干道左轉(zhuǎn)燈
output?[7:0]?HEX0,//數(shù)碼管0
output?[7:0]?HEX1,//數(shù)碼管1
output?[7:0]?HEX2,//數(shù)碼管2
output?[7:0]?HEX3//數(shù)碼管3
);
wire?clk_1Hz;
wire?[7:0]?main_cnt;
wire?[7:0]?branch_cnt;
//分頻模塊
div?i_div(
.?clk(clk),//時鐘
.?clk_1Hz(clk_1Hz)//1Hz
);

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

  • 2-240110153245496.doc
    下載

相關(guān)推薦