基於FPGA的交通燈設計

2022-10-14 04:33:02 字數 5012 閱讀 8543

數字系統課程設計報告書

目錄摘要1

1設計目的2

2設計內容及要求2

3系統整體方案及設計原理2

4各模組電路設計與實現3

4.1 分頻模組設計與實現3

4.1.1分頻模組圖

4.1.2分頻模組程式

4.2 交通燈控制器模組設計與實現4

4.2.1交通燈控制模組圖

4.2.2交通燈控制模組程式

4.3 1602顯示驅動模組設計與實現11

4.3.1 1602顯示驅動模組圖

4.3.2 1602顯示驅動模組程式

5系統**及硬體**18

5.1系統**(步驟,總原理圖,**圖18

5.1.1系統**步驟

5.1.2總原理圖

5.1.3**圖

5.2硬體**(引腳分配,**步驟19

5.2.1引腳分配

5.2.2**步驟

6設計總結21

參考文獻21

摘要 可程式設計邏輯器件的硬體描述語言verilog hdl,由於它具有類似於通用c語言的風格,被不少fpga開發者所推崇。在數字控制這個領域,fpga的應用也越來越廣泛,因此,作為硬體描述語言verilog hdl就顯示出了它的重要性。它是一種全方位的硬體描述語言,具有極強的描述能力,能支援系統行為級、暫存器傳輸級和邏輯門級這三個不同層次的設計,因此在實際應用中越來越廣泛。

本設計為乙個交通燈,控制2個路口的紅、黃、綠三盞燈,讓其按預置時間進行變化。以fpga技術為載體,應用verilog hdl語言,在quartusii軟體環境下,通過模組化程式設計完成了燈亮時間可調的交通燈控制系統設計,並進行邏輯綜合、**和硬體下栽。由於設計採用了fpga技術,大大縮短了開發研製週期,提高了設計效率。

關鍵詞:交通燈硬體描述語言verilog hdl fpga

1.設計目的

1.掌握利用eda開發工具quartusii進行可程式設計邏輯器件設計的方法;

2.熟練掌握可程式設計邏輯器件的原理圖輸入層次化設計方法;

3.掌握利用quartusii進行軟體**及對可程式設計邏輯器件進行硬體**的方法;

4.進一步鞏固所學的理論知識,提高運用所學知識分析和解決實際問題的能力。

2.設計內容及要求

1.主道路綠、黃、紅燈亮的時間分別為55秒、5秒、40秒;

2.次道路綠、黃、紅燈亮的時間分別為45 、5 秒、50秒;

3.主、次道路時間指示採用倒計時制,用1602顯示驅動模組顯示;

4.該實驗是基於fpga的設計,採用verilog hdl進行系統功能描述,用quartusⅱ軟體進行**測試。

3.系統整體方案及設計原理

如下圖(3.1)所示,該系統框圖由3個模組組成,分別為:交通燈控制模組,分頻器模組(fp20m),1602顯示驅動模組( lcd_1602_drive)。

在quartusⅱ軟體環境下用virlog hdl語言編寫程式,然後生成交通燈控制**器件,對生成的器件連線**生成**圖,加上分頻器件和1602顯示驅動進行觀察驗證。

圖(3.1)

4.各模組電路設計與實現

4.1 分頻模組設計與實現

4.1.1分頻模組圖

圖(4.1)

4.1.2分頻模組程式

//輸入頻率:20mhz

//輸出頻率:1hz,1000hz

module fp20m(clk,clk1,clk4,clk1000,clk6m);

input clk;

output clk1,clk4,clk1000,clk6m;

reg clk1,clk4,clk1000,clk6m;

reg [25:0] cnt,cnt1,cnt2,cnt3;

always@(posedge clk1hz分頻

begin

if(cnt>= 9999999 ) //從0到9999999總共***次

begin

cnt=0;

clk1=~clk1;// 每***次翻轉,週期為***次,也就是1s

endelse cnt=cnt+1;

endalways@(posedge clk1000hz分頻

begin

if(cnt1>=9999)

begin

cnt1=0;

clk1000=~clk1000;

endelse cnt1=cnt1+1;

endalways@(posedge clk1hz分頻

begin

if(cnt2>= 1 ) //從0到9999999總共***次

begin

cnt2=0;

clk6m=~clk6m;// 每***次翻轉,週期為***次,也就是1s

endelse cnt2=cnt2+1;

endalways@(posedge clk1hz分頻

begin

if(cnt3 >= 2499999 ) //從0到9999999總共***次

begin

cnt3=0;

clk4=~clk4;// 每***次翻轉,週期為***次,也就是1s

endelse cnt3=cnt3+1;

endendmodule

4.2 交通燈控制器模組設計與實現

4.2.1交通燈控制模組圖

圖(4.2)

4.2.2交通燈控制模組程式

module red_count (clk,red,green,yellow,red1,green1,yellow1,

red_one_set,

red_ten_set,

green_one_set,

green_ten_set,

yellow_one_set,

yellow_ten_set,

time_one,

time_ten,

time1_one,

time1_ten,

set_state);

input clk;

input set_state;

input [3:0]red_one_set;

input [3:0]red_ten_set;

input [3:0]green_one_set;

input [3:0]green_ten_set;

input [3:0]yellow_one_set;

input [3:0]yellow_ten_set;

output red,green,yellow,red1,green1,yellow1;

output [3:0]time_one;

output [3:0]time_ten;

output [3:0]time1_one;

output [3:0]time1_ten;

reg red,green,yellow,red1,green1,yellow1;

reg [3:0]red_one;

reg [3:0]red_ten;

reg [3:0]green_one;

reg [3:0]green_ten;

reg [3:0]yellow_one;

reg [3:0]yellow_ten;

reg [3:0]time_one;

reg [3:0]time_ten;

reg [3:0]red1_one;

reg [3:0]red1_ten;

reg [3:0]green1_one;

reg [3:0]green1_ten;

reg [3:0]yellow1_one;

reg [3:0]yellow1_ten;

reg [3:0]time1_one;

reg [3:0]time1_ten;

reg temp2;

initial

begin

red_one = 9 ;

red_ten = 5;

yellow_one = 4 ;

yellow_ten = 0 ;

green_one = 4 ;

green_ten = 5 ;

red1_one = 9 ;

red1_ten = 5;

yellow1_one = 4 ;

yellow1_ten = 0 ;

green1_one = 4 ;

green1_ten = 5 ;

red = 1;

green1 = 1;

endalways @( posedge clk)

begin

temp2 <=set_state;

if(temp2 != set_state && set_state == 0 )

begin

red_one <= ((red_ten_set*10+red_one_set)%60)%10;//

red_ten <= (((red_ten_set*10+red_one_set)%60)/10)%6;//

endelse

if((red == 1) && (green == 0) && (yellow == 0))

begin

time_one <= red_one;

time_ten <= red_ten;

if ( <= 8'h00)

begin

red_one <= 9;

red_ten <= 5;

red <= 0;

green <= 1;

yellow <= 0;

endelse

begin

if (red_one <= 0)

begin

red_one <= 9;

red_ten <= red_ten - 1;

endelse red_one <= red_one - 1 ;

endendif((red1 == 0) && (green1 == 1) && (yellow1 == 0))

begin

time1_one <= green1_one;

time1_ten <= green1_ten;

EDA交通燈的設計

1 設計任務及要求 設計乙個由一條主幹道和一條支幹道的匯合點形成的十字交叉路口的交通燈控制器,能夠做到主 支幹道的紅綠燈閃亮的時間不完全相同,在綠燈跳變紅燈的過程中能夠用黃燈進行過渡,使得行駛過程中的車輛有足夠的時間停下來。還要求在主 支幹道各設立一組計時顯示器,能夠顯示相應的紅 黃 綠倒計時。可以...

關於交通燈的課程設計

目錄摘要1 設計背景 2 設計要求 3 方案比較及元器件選擇 3.1測量部分方案比較 3.2數模轉換晶元的方案選擇 4 系統整體硬體設計方案 4.1系統工作原理概述 4.2 感測器及放大電路 4.3 a d轉換電路 4.4 微控制器at89c51 4.5 報警電路 4.6 解碼電路 4.7 led顯...

交通燈設計實驗報告

電子技術綜合設計報告 目錄一 設計背景3 二 設計任務及要求3 三 設計原理3 四 實物圖9 五 主要儀器和除錯方法9 六 實驗過程中的問題以及心得10 七 附錄11 交通燈定時控制系統的設計 製作報告 一 設計背景 在城鎮街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅 ...