Verilog HDL交通燈的實現

2021-10-07 07:16:52 字數 2408 閱讀 7310

在家實在閒的沒事兒幹,翻出來了大三上學期的eda課的小實驗,也就是設計乙個二愣子交通燈啦,只會自己按設定好的時間閃,紅燈、綠燈,黃燈和轉向燈;

以下是這個小實驗的完整的程式:

module	traffic(

input clk,

output reg r1,

output reg y1,

output reg g1,

output reg b1,

output reg r2,

output reg y2,

output reg g2,

output reg b2

);parameter yellow_time = 5;

parameter green_time = 20;

parameter blue_time = 10;

reg [2:0] state;

always @(posedge clk)

case (state)

0: /*南北綠,東西紅*/

begin

r1 <= 1'b0;

y1 <= 1'b0;

g1 <= 1'b1;

b1 <= 1'b0;

r2 <= 1'b1;

y2 <= 1'b0;

g2 <= 1'b0;

b2 <= 1'b0;

end1: /*南北黃,東西紅*/

begin

r1 <= 1'b0;

y1 <= 1'b1;

g1 <= 1'b0;

b1 <= 1'b0;

r2 <= 1'b1;

y2 <= 1'b0;

g2 <= 1'b0;

b2 <= 1'b0;

end2: /*南北左轉,東西紅*/

begin

r1 <= 1'b0;

y1 <= 1'b0;

g1 <= 1'b0;

b1 <= 1'b1;

r2 <= 1'b1;

y2 <= 1'b0;

g2 <= 1'b0;

b2 <= 1'b0;

end3: /*南北紅,東西綠*/

begin

r1 <= 1'b1;

y1 <= 1'b0;

g1 <= 1'b0;

b1 <= 1'b0;

r2 <= 1'b0;

y2 <= 1'b0;

g2 <= 1'b1;

b2 <= 1'b0;

end4: /*南北紅,東西黃*/

begin

r1 <= 1'b1;

y1 <= 1'b0;

g1 <= 1'b0;

b1 <= 1'b0;

r2 <= 1'b0;

y2 <= 1'b1;

g2 <= 1'b0;

b2 <= 1'b0;

enddefault: /*南北紅,東西左轉*/

begin

r1 <= 1'b1;

y1 <= 1'b0;

g1 <= 1'b0;

b1 <= 1'b0;

r2 <= 1'b0;

y2 <= 1'b0;

g2 <= 1'b0;

b2 <= 1'b1;

endendcase

always @(posedge clk)

begin

reg [4:0] count;

begin

if(count == 0)

begin

if(state == 5)

state <= 0;

else

state <= state +1;

case (state)

0:count = yellow_time;

1:count = blue_time;

2:count = green_time;

3:count = yellow_time;

4:count = blue_time;

default:

count = green_time;

endcase

endelse

count = count - 1;

end

end

endmodule

這個是引腳配置,書上都有噠,就是順序老是配反,搞得我改了好幾遍(其實本人很細心得啦qaq)。

這個是最後的那個原理圖

交通燈控制

問題描述,十字路,東西方向和南北方向燈,綠20s黃5s紅25s,倒計時顯示時間,另外,警車救護車等特殊狀態,都顯紅燈,且時間顯示不斷閃爍,通過之後,恢復原狀態。以下是我編寫的源 library ieee use ieee.std logic 1164.all use ieee.std logic u...

智慧型交通燈

交通燈有很多種型別,下面這個,還是比較簡單的。東西 a 南北 b 兩幹道交於乙個十字路口,各幹道有一組紅 黃 綠三色的指示燈,要求用微控制器控制交通燈,實現以下功能 1 a 道和b道上均有車輛要求通過時,a b道輪流放行。a道放行5分鐘 除錯時改為5秒鐘 b道放行4分鐘 除錯時改為4秒鐘 4 綠燈轉...

ewb交通燈報告和檔案 基於EWB的交通燈設計

本文著眼於目前普遍應用在城市道路上的交通燈控制系統,從課程設計的題目要求出發,設計了乙個十字路口主次街道的交通燈控制電路。首先進行交通燈狀態變換的分析和交通燈總體框架的設計,接著提出了2種電路設計方案,通過優劣比較後選定了方案2。電源電路由555定時器產生1hz的脈衝訊號 根據交通燈的四種執行狀態依...