久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

數(shù)字系統(tǒng)課程設(shè)計(jì)交通燈控制器

時(shí)間:2019-05-13 23:49:08下載本文作者:會(huì)員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《數(shù)字系統(tǒng)課程設(shè)計(jì)交通燈控制器》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《數(shù)字系統(tǒng)課程設(shè)計(jì)交通燈控制器》。

第一篇:數(shù)字系統(tǒng)課程設(shè)計(jì)交通燈控制器

東南大學(xué)

《數(shù)字系統(tǒng)課程設(shè)計(jì)》

設(shè)計(jì)報(bào)告

項(xiàng)目名稱: 交通燈控制器

名:

學(xué)

號:

業(yè):

實(shí) 驗(yàn) 室: 電工電子實(shí)驗(yàn)中心

別:

同組人員:

設(shè)計(jì)時(shí)間: 2016 年月 26 日

——

2016 年 9 月 20日 評定成績:

審閱教師:

目錄

一.設(shè)計(jì)方案及論證……………………………………………… 3 二.模塊設(shè)計(jì)……………………………………………………… 5 三.總體設(shè)計(jì)與仿真……………………………………………… 10 四.總結(jié)…………………………………………………………… 12 一.設(shè)計(jì)方案及論證

1.設(shè)計(jì)使用環(huán)境

本交通燈控制系統(tǒng)設(shè)計(jì)利用Verilog HDL語言進(jìn)行設(shè)計(jì)編程,利用Cyclone EP1C6Q240C8芯片和一些外圍器件組成硬件電路,利用Quartus II軟件將編寫好的程序進(jìn)行編譯和仿真,并將調(diào)試完成的程序下載到Cyclone EP1C6Q240C8芯片上,通過觀測電路板上的紅綠信號燈以及數(shù)碼管顯示來分析系統(tǒng)的性能。

2.設(shè)計(jì)任務(wù)分析

主干道與鄉(xiāng)村公路十字交叉路口在現(xiàn)代化的農(nóng)村星羅棋布,為確保車輛安全、迅速地通過,在交叉路口的每個(gè)入口處設(shè)置了紅、綠、黃三色信號燈。紅燈禁止通行;綠燈允許通行;黃燈亮則給行駛中的車輛有時(shí)間行駛到禁行線之外。主干道和鄉(xiāng)村公路都安裝了傳感器,檢測車輛通行情況,用于主干道的優(yōu)先權(quán)控制。

設(shè)計(jì)要求:

1)當(dāng)鄉(xiāng)村公路無車時(shí),始終保持鄉(xiāng)村公路紅燈亮,主干道綠燈亮。2)當(dāng)鄉(xiāng)村公路有車時(shí),而主干道通車時(shí)間已經(jīng)超過它的最短通車時(shí)間時(shí),禁止主干道通行,讓鄉(xiāng)村公路通行。主干道最短通車時(shí)間為25s。

3)當(dāng)鄉(xiāng)村公路和主干道都有車時(shí),按主干道通車25s,鄉(xiāng)村公路通車16s交替進(jìn)行。4)不論主干道情況如何,鄉(xiāng)村公路通車最長時(shí)間為16s。

5)在每次由綠燈亮變成紅燈亮的轉(zhuǎn)換過程中間,要亮5s時(shí)間的黃燈作為過渡。6)用開關(guān)代替?zhèn)鞲衅髯鳛闄z測車輛是否到來的信號。用紅、綠、黃三種顏色的發(fā)光二極管作交通燈。7)數(shù)碼管倒計(jì)時(shí)顯示

3.測量控制原理

1)通過乒乓開關(guān)來控制FPGA輸入信號的電平,從而控制交通燈工作。

2)利用FPGA輸出的電平信號去驅(qū)動(dòng)靜態(tài)數(shù)碼管及三色小燈來模擬交通燈。

4.頂層設(shè)計(jì)方案框圖及說明

1)交通燈控制器框圖

C表示鄉(xiāng)村道路是否有車到來,1表示有,0表示無;SET用來控制系統(tǒng)的開始及停止;RST是復(fù)位信號,高電平有效,當(dāng)RST為1時(shí),恢復(fù)到初始設(shè)置;CLK是外加時(shí)鐘信號;MR、MY、MG分別表示主干道的紅燈、黃燈和綠燈;CR、CY、CG分別表示鄉(xiāng)村道路的紅燈、黃燈和綠燈,1表示亮,0表示滅。

2)流程圖

MGCR表示主干道綠燈,鄉(xiāng)村道路紅燈;MYCR表示主干道黃燈,鄉(xiāng)村道路紅燈;MRCG表示主干道紅燈,鄉(xiāng)村道路綠燈;MRCY表示主干道紅燈,鄉(xiāng)村道路黃燈;T0=1表示主干道最短通車時(shí)間到,T1=1表示5秒黃燈時(shí)間到,T2=1表示鄉(xiāng)村道路最長通車時(shí)間到。二.模塊設(shè)計(jì)

1.模塊功能及端口說明

1)分頻模塊

輸入端為clk_in,即實(shí)驗(yàn)箱自帶脈沖輸入信號,輸出端為clk,即想得到的頻率。2)主控制模塊

輸入端為CLK、RST、C。其中c為鄉(xiāng)村道路開關(guān),為1時(shí)表示鄉(xiāng)村道路有車;rst為初始化開關(guān),為1時(shí)表示初始化為主干道綠燈,鄉(xiāng)村道路紅燈的狀態(tài)。

輸出端為MG、MY、MR、CG、CY、CR分別表示主干道和鄉(xiāng)村道路的紅黃綠燈,與LED燈相連;mh、ml、ch、cl分別表示主干道和鄉(xiāng)村道路倒計(jì)時(shí)顯示的高低位,與數(shù)碼管相連。

3)數(shù)碼管顯示模塊

輸入端為clk和count,輸出端為LED。

2.主要功能的設(shè)計(jì)方法

1)分頻模塊

試驗(yàn)箱可選晶振有2M和50M,選擇使用2M后,設(shè)置分頻系數(shù)為2000000,每計(jì)數(shù)到1000000,則輸出取反,最終可得到1HZ的時(shí)鐘信號。

2)主控制模塊

設(shè)置兩個(gè)外部控制條件:初始化(RST);鄉(xiāng)村干道是否有車(C);

設(shè)置一個(gè)內(nèi)部計(jì)數(shù)變量:NUM,通過相關(guān)運(yùn)算取余取整得到數(shù)碼管顯示高低位;

通過有限狀態(tài)機(jī)實(shí)現(xiàn)四個(gè)狀態(tài)的循環(huán)切換。

3.Verilog設(shè)計(jì)程序及說明

1)分頻模塊

module fre(clk_in,clk);input clk_in;output clk;reg clk;reg [31:0]k;always @(negedge clk_in)begin

if(k>=1000000)//1000000分頻 begin clk<=~clk;//取反

k<=0;end else

k<=k+1;//計(jì)數(shù)

end endmodule 2)主控制模塊

module traffic(CLK,RST,C,MG,MY,MR,CG,CY,CR,mh,ml,ch,cl);input CLK,RST,C;output [3:0]mh,ml,ch,cl;output MG,MY,MR,CG,CY,CR;reg [3:0] mh,ml,ch,cl;reg MG,MY,MR,CG,CY,CR;reg [31:0] COUNT;reg [5:0]state;parameter s1=6'b100001,s2=6'b010001,s3=6'b001100,s4=6'b001010;always @(posedge CLK)if(RST)//初始化

begin

state = s1;//最初狀態(tài),主通行,鄉(xiāng)村不通行 MG=1;MY=0;MR=0;CG=0;CY=0;CR=1;COUNT = 0;

mh=2;//主干道綠燈25s,鄉(xiāng)村道路紅燈5s

ml=5;

ch=3;

cl=0;

end else case(state)s1: begin COUNT = COUNT+1;

if((COUNT>=25)&&(C==1))//25s已計(jì)完且鄉(xiāng)村道路來車,跳轉(zhuǎn)到s2狀態(tài)

begin

state = s2;//主干道黃燈,鄉(xiāng)村道路紅燈

MG=0;MY=1;MR=0;CG=0;CY=0;CR=1;COUNT = 0;mh=0;ml=5;ch=0;cl=5;end else if(COUNT<25)//25s沒有計(jì)完,保持s1狀態(tài)

begin

state = s1;

MG=1;MY=0;MR=0;CG=0;CY=0;CR=1;

mh=(25-COUNT)/10;//取整取余換算,倒計(jì)時(shí)顯示

ml=(25-COUNT)%10;ch=(30-COUNT)/10;cl=(30-COUNT)%10;end else if(COUNT >= 25 && C == 0)//25s計(jì)完,鄉(xiāng)村道路仍然沒有車

begin

state = s1;//保持s1 MG=1;MY=0;MR=0;CG=0;CY=0;CR=1;mh=0;//數(shù)碼管顯示0

ml=0;

ch=0;

cl=0;

end

end s2: begin COUNT = COUNT+1;

if(COUNT==5)//5s黃燈已計(jì)完

begin

state = s3;//主干道紅燈,鄉(xiāng)村道路綠燈 MG=0;MY=0;MR=1;CG=1;CY=0;CR=0;COUNT = 0;

mh=2;//主干道21s紅燈,鄉(xiāng)村道路16s綠燈

ml=1;

ch=1;

cl=6;

end else

begin

state = s2;//5s黃燈未計(jì)完時(shí),保持s2狀態(tài)

MG=0;MY=1;MR=0;CG=0;CY=0;CR=1;

mh=0;

ml=5-COUNT;

ch=0;

cl=5-COUNT;

end end s3: begin COUNT = COUNT+1;

if(((COUNT>=16)&&(C==1))||(C==0))//鄉(xiāng)村道路16s通行時(shí)間已結(jié)束,不管有無來車,均跳轉(zhuǎn)s4狀態(tài)

begin

state = s4;//主干道紅燈,鄉(xiāng)村道路黃燈

MG=0;MY=0;MR=1;CG=0;CY=1;CR=0;

COUNT = 0;

mh=0;

ml=5;

ch=0;

cl=5;

end else

begin

state = s3;//16s未結(jié)束,仍保持s3狀態(tài)

MG=0;MY=0;MR=1;CG=1;CY=0;CR=0;

mh=(21-COUNT)/10;

ml=(21-COUNT)%10;

ch=(16-COUNT)/10;

cl=(16-COUNT)%10;

end end s4: begin COUNT = COUNT+1;if(COUNT==5)//5s黃燈時(shí)間結(jié)束

begin

state = s1;//回到s1狀態(tài)

MG=1;MY=0;MR=0;CG=0;CY=0;CR=1;

COUNT = 0;

mh=2;

ml=5;

ch=3;

cl=0;

end else

begin

state = s4;//否則保持s4狀態(tài)

MG=0;MY=0;MR=1;CG=0;CY=1;CR=0;

mh=0;

ml=5-COUNT;

ch=0;

cl=5-COUNT;

end end default:

begin

state = s1;

MG=1;MY=0;MR=0;CG=0;CY=0;CR=1;

COUNT = 0;

mh=0;

ml=5-COUNT;

ch=0;

cl=5-COUNT;

end endcase endmodule 3)數(shù)碼管顯示模塊 module led(clk,count,LED);input clk;input [3:0]count;output [7:0]LED;reg [7:0]LED;always @(posedge clk)begin case(count)

4'b0000:LED=8'b00000011;

4'b0001:LED=8'b10011111;

4'b0010:LED=8'b00100101;

4'b0011:LED=8'b00001101;

4'b0100:LED=8'b10011001;

4'b0101:LED=8'b01001001;

4'b0110:LED=8'b01000001;

4'b0111:LED=8'b00011111;

4'b1000:LED=8'b00000001;

4'b1001:LED=8'b00001001;

default:LED=8'b00000001;endcase end endmodule 4.仿真圖及說明

(1)分頻模塊

由于實(shí)際應(yīng)用中分頻較大,仿真時(shí)為方便觀察,將分頻頻數(shù)設(shè)置為20。輸入為clk_in,周期為10ns;輸出為clk,其周期為200ns,與理論值相符。(2)主控制模塊

與總體仿真相同,在此不再贅述。

三.總體設(shè)計(jì)與仿真

1.頂層設(shè)計(jì)圖及說明

fre為分頻模塊,traffic為主控制模塊,led為數(shù)碼管顯示模塊。輸入端有clk_in、c和rst,輸出端有MG、MY、MR、CG、CY、CR和mh、ml、ch、cl。

2.仿真圖及說明

輸入有:C、CLK和RST 輸出有:CG、CR、CY、MG、MR、MY、ch、cl、mh和ml C為鄉(xiāng)村道路是否來車,1表示來車,0表示無車;CLK為時(shí)鐘信號;RST為初始化功能,1有效;CG、CR、CY、MG、MR、MY分別表示鄉(xiāng)村道路綠燈、紅燈、黃燈,主干道綠燈、紅燈、黃燈;ch、cl、mh、ml分別表示鄉(xiāng)村道路和主干道紅綠燈倒數(shù)顯示高低位。

3.實(shí)驗(yàn)結(jié)果

(1)鄉(xiāng)村道路無車時(shí)

鄉(xiāng)村道路無車時(shí),主干道25s倒數(shù),鄉(xiāng)村道路30s倒數(shù)結(jié)束后,保持0,且主干道綠燈亮,鄉(xiāng)村道路紅燈亮。(2)鄉(xiāng)村道路有車時(shí)

若鄉(xiāng)村道路一直有車,主干道25s(即S1狀態(tài))倒計(jì)時(shí)結(jié)束后,主干道切換黃燈,鄉(xiāng)村道路保持紅燈(即S2狀態(tài));5s黃燈倒計(jì)時(shí)結(jié)束后,主干道切換紅燈,時(shí)間21s,鄉(xiāng)村道路切換綠燈,時(shí)間16s(即S3狀態(tài));鄉(xiāng)村道路16s綠燈結(jié)束后,切換黃燈,主干道保持紅燈(即S4狀態(tài)),5s黃燈結(jié)束后,回到S1狀態(tài),即主干道25s綠燈,鄉(xiāng)村道路30s紅燈,若一直有車,則循環(huán)進(jìn)行。

四.總結(jié)

1.實(shí)驗(yàn)結(jié)果分析

(1)輸入與輸出

兩個(gè)開關(guān):一個(gè)初始化控制開關(guān),一個(gè)鄉(xiāng)村道路開關(guān)。初始化開關(guān)打開后復(fù)位,交通燈開始工作,鄉(xiāng)村道路打開表示鄉(xiāng)村公路上有車。

輸出:四個(gè)數(shù)碼管,兩個(gè)顯示主干道交通燈時(shí)間,兩個(gè)顯示鄉(xiāng)村道路時(shí)間;六個(gè)led燈,兩紅兩黃兩綠分別表示主干道和鄉(xiāng)村公路的紅黃綠燈。(2)運(yùn)行過程

1)初始狀態(tài)(S1)

左側(cè)為主干道倒計(jì)時(shí),右側(cè)為鄉(xiāng)村道路倒計(jì)時(shí);主干道綠燈亮,鄉(xiāng)村道路紅燈亮。K1為初始化按鍵,K2為鄉(xiāng)村道路有無來車。

2)主干道25s綠燈結(jié)束后切換黃燈,鄉(xiāng)村道路紅燈(S2)

3)主干道5s黃燈結(jié)束,切換紅燈21s,鄉(xiāng)村道路切換綠燈16s(S3)

4)鄉(xiāng)村道路16s綠燈結(jié)束,切換黃燈,主干道紅燈(S4)

5s黃燈倒計(jì)時(shí)結(jié)束,回到S1狀態(tài),若一直有車,則循環(huán)S1-S2-S3-S4-S1。

2.問題解決方法

問題1:數(shù)碼管顯示與紅綠燈切換不同時(shí)。

解決方法:紅綠燈輸出后面增加一延時(shí)模塊,延時(shí)一個(gè)CLK,使其與數(shù)碼管顯示同步。問題2:理解錯(cuò)題意,在S3狀態(tài)(即主干道紅燈,鄉(xiāng)村道路綠燈)時(shí),此時(shí)若鄉(xiāng)村道 路無車通過,應(yīng)立即切換為S4狀態(tài)(即主干道紅燈,鄉(xiāng)村道路黃燈),而不是等當(dāng)前計(jì)數(shù)結(jié)束再切換。

解決方法:將代碼修改為if(((COUNT>=16)&&(C==1))||(C==0)),修改后符合要求,解決了問題。

3.心得體會(huì)

通過此次系統(tǒng)設(shè)計(jì),我對verilog HDL語言有了初步了解,并對利用quartus來進(jìn)行系統(tǒng)設(shè)計(jì)有了更加深入的理解,操作也更加熟練。在設(shè)計(jì)過程中應(yīng)該先設(shè)計(jì)好總體架構(gòu),再進(jìn)行模塊的具體設(shè)計(jì),通過分析每個(gè)模塊要實(shí)現(xiàn)的功能來寫代碼,并注意編寫注釋,便于以后的理解修改。編譯時(shí)要注意設(shè)置頂層文件,先進(jìn)行仿真觀察結(jié)果是否正確,對代碼進(jìn)行修改,仿真結(jié)果正確后再下載到硬件,測試系統(tǒng)功能。

參考書目: [1] 夏宇聞,《Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程》,北京,北京航空航天大學(xué)出版社,2013年 [2] 王金明,《數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL》,北京,電子工業(yè)出版社,2011年

第二篇:上海大學(xué)數(shù)字電子技術(shù)課程設(shè)計(jì)交通燈

電子技術(shù)課程設(shè)計(jì)報(bào)告

——交通燈控制電路

XX大學(xué)機(jī)自學(xué)院自動(dòng)化系

自動(dòng)化

專業(yè)

姓名:

學(xué)號:

指導(dǎo)老師:

2018年X月X日

一、主要用途:

交通信號燈使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力、減少交通事故有明顯效果。

在十字交叉路口,為保證交通秩序和行人安全,一般在每條道路上各有一組紅、黃、綠交通信號燈,其中紅燈亮,表示該條道路禁止通行;黃燈亮表示該條道路上未過停車線的車輛停止通行,已過停車線的車輛繼續(xù)通行;綠燈亮表示該條道路允許通行。交通燈控制電路自動(dòng)控制十字路口兩組紅、黃、綠交通燈的狀態(tài)轉(zhuǎn)換,指揮各種車輛和行人安全通行,實(shí)現(xiàn)十字路口交通管理的自動(dòng)化。

二、設(shè)計(jì)任務(wù)及要求:

設(shè)計(jì)一個(gè)主干道和支干道十字路口的交通燈控制電路,其要求如下:

1.一般情況下,保持主干道暢通,主干道路燈亮、支干道紅燈亮,并且主干燈亮的時(shí)間不少于60

S;

2.當(dāng)主干道綠燈亮超過60

S,且支干道有車時(shí),主干道紅燈亮,支干道綠燈亮,但支干道綠燈亮的時(shí)間不得超過30S;

3.每次主干道或支干道綠燈亮變紅燈時(shí),黃燈先亮5S。

三、設(shè)計(jì)思路步驟及仿真調(diào)試

設(shè)計(jì)分析

分析可知,所需的交通燈有以下四個(gè)狀態(tài):

a.主干道綠燈亮,支干道紅燈亮,此時(shí)主干道允許車輛通行,支干道禁止車輛通行。當(dāng)主干道綠燈亮夠60秒后,控制器發(fā)出狀態(tài)轉(zhuǎn)換信號,系統(tǒng)進(jìn)入下一個(gè)狀態(tài)。

b.主干道黃燈亮,支干道紅燈亮,此時(shí)主干道允許超過停車線的車輛繼續(xù)通行,而未超過停車線的車輛禁止通行,支干道禁止車輛通行。當(dāng)主干道黃燈亮夠5秒后,控制器發(fā)出狀態(tài)轉(zhuǎn)換信號,系統(tǒng)進(jìn)入下一個(gè)狀態(tài)。

c.主干道紅燈亮,支干道綠燈亮。此時(shí)主干道禁止車輛通行,支干道允許車輛通行,當(dāng)支干道綠燈亮夠30秒后,控制器發(fā)出狀態(tài)轉(zhuǎn)換信號,系統(tǒng)進(jìn)入下一個(gè)狀態(tài)。

d.主干道紅燈亮,支干道黃燈亮。此時(shí)主干道禁止車輛通行,支干道允許超過停車線的車輛通行,而未超過停車線的車輛禁止通行。當(dāng)支干道紅燈亮夠5秒后,控制器發(fā)出狀態(tài)轉(zhuǎn)換信號,系統(tǒng)進(jìn)入下一個(gè)狀態(tài)。

以上a,b,c,d四種狀態(tài)依次交替循環(huán),達(dá)到指揮交通的功能。

分析得出,交通燈系統(tǒng)共由脈沖信號模塊,交通燈模塊,控制模塊,倒計(jì)時(shí)模塊四部分組成,如下圖1所示。

主干道

A1

A2

A3

控制

模塊

倒計(jì)時(shí)

模塊

脈沖信號模塊

發(fā)生器

T0

支干道

B1

B2

B3

圖1

交通燈控制系統(tǒng)原理框圖

整個(gè)系統(tǒng)的核心是利用能夠進(jìn)行60進(jìn)制、30進(jìn)制以及5進(jìn)制并切換的減法計(jì)數(shù)器,在譯碼器及與非門的配合下實(shí)現(xiàn)交通燈信號燈的切換。

1.脈沖信號模塊

信號的產(chǎn)生采用555定時(shí)器構(gòu)成的多諧振蕩器。取R1=10kΩ,C2=10uF,通過

f=1tpL+tph≈1.43R1+2R2C2=1

設(shè)計(jì)計(jì)算得R2≈66kΩ,此處采用100kΩ滑動(dòng)變阻器。

設(shè)計(jì)如下圖2所示的多諧振蕩器,產(chǎn)生1Hz的方波周期信號。

圖2

多諧振蕩器

2.交通燈模塊

設(shè)主干道紅燈、黃燈、綠燈分別為A1、A2、A3;支干道紅燈,黃燈、綠燈分別為B1、B2、B3,如下圖3所示。

圖3

交通燈模塊

3.控制模塊

使用74LS163N十進(jìn)制計(jì)數(shù)器構(gòu)成三進(jìn)制的加法計(jì)數(shù)器,同時(shí)用與非門控制三個(gè)顏色交通燈的亮與滅。

74LS163N的CP信號由倒計(jì)時(shí)模塊高位74LS192N的BO控制。即每當(dāng)?shù)褂?jì)時(shí)的高位產(chǎn)生借位信號時(shí)通過BO傳給74LS163N一個(gè)信號使之變燈。

令前述的a,b,c,d四種交通燈狀態(tài)依次為00,01,10,11,以74163N的QA,QB輸出。

主干道紅燈、黃燈、綠燈分別為A1、A2、A3;支干道紅燈,黃燈、綠燈分別為B1、B2、B3??傻谜嬷当砣缦?。

QB

QA

A1

A2

A3

B1

B2

B3

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

由真值表化簡可得各信號燈的邏輯表達(dá)式:

A1=QB,A2=QBQA,A3=QBQA,B1=QB,B2=QBQA,B3=QBQA

故采用與非門控制連接交通燈和74LS163N如下圖4:

圖4

74163N和與非門構(gòu)成的交通燈控制模塊

4.倒計(jì)時(shí)模塊

倒計(jì)時(shí)模塊由減法計(jì)數(shù)器和7段數(shù)碼管顯示器組成。

十字路口的交通燈要有數(shù)字顯示,且是倒計(jì)時(shí),以便人們能夠更好的把握好時(shí)間。具體的工作方式為:當(dāng)主干道的綠燈亮?xí)r,將顯示器置為60s,然后每秒減1,計(jì)數(shù)方式工作,直至減到數(shù)為00,此時(shí)變燈并置05s,再執(zhí)行每秒減1,減到00后變燈并置30s,遞減。一次工作循環(huán)結(jié)束,而進(jìn)入下一工作循環(huán)。

倒計(jì)時(shí)模塊選用兩片74LS192級聯(lián),通過將低位的借位端BO與高位的減數(shù)計(jì)數(shù)控制端DOWN連接,構(gòu)成減法計(jì)數(shù)器。CP由多諧振蕩器的輸出端接到低位74LS192的減數(shù)計(jì)數(shù)控制端DOWN控制。

預(yù)置端LOAD接高電平時(shí)計(jì)數(shù),接低電平時(shí)預(yù)置數(shù)。因此,工作開始時(shí),LOAD為0,計(jì)數(shù)器預(yù)置數(shù),置數(shù)后,LOAD變?yōu)?,計(jì)數(shù)器開始倒計(jì)時(shí),當(dāng)?shù)褂?jì)時(shí)減到數(shù)00時(shí),LOAD又變?yōu)?,計(jì)數(shù)器又預(yù)置數(shù),之后又倒計(jì)時(shí),如此循環(huán)下去。

這可以借助兩片74190的借位端BO來實(shí)現(xiàn),用或門將兩個(gè)BO連起來,再接在預(yù)置數(shù)端LOAD上。當(dāng)?shù)褂?jì)時(shí)減到數(shù)00時(shí),兩個(gè)BO均產(chǎn)生一低電平信號,通過或門使兩片74190的LOAD端置數(shù)。

由于四種狀態(tài)的置數(shù)各不相同,設(shè)高位74LS192N的置數(shù)端依次為DH,CH,BH,AH,低位的置數(shù)端依次為DL,CL,BL,AL,由前述的真值表和8位置數(shù)端在各狀態(tài)下的取值,分析可得,DH=0,CH=A3,BH=QA,AH=B3

DL=0,CL=QA,BL=0,AL=QA

故可利用信號燈和74163N輸出端的信號結(jié)合與非門控制置數(shù)端在不同狀態(tài)下的取值。設(shè)計(jì)如下圖5

圖5

減法計(jì)數(shù)器和7段數(shù)碼管顯示器構(gòu)成的倒計(jì)時(shí)模塊

三、電路的測試與仿真

狀態(tài)a:

符合設(shè)計(jì)要求1:一般情況下,保持主干道暢通,主干道路綠燈亮、支干道紅燈亮,并且主干燈亮的時(shí)間不少于60

S;

狀態(tài)b:

符合設(shè)計(jì)要求3:每次主干道或支干道綠燈亮變紅燈時(shí),黃燈先亮5S。

狀態(tài)c:

符合設(shè)計(jì)要求2:當(dāng)主干道綠燈亮超過60

S,且支干道有車時(shí),主干道紅燈亮,支干道綠燈亮,但支干道綠燈亮的時(shí)間不得超過30S;

狀態(tài)d:

符合設(shè)計(jì)要求3:每次主干道或支干道綠燈亮變紅燈時(shí),黃燈先亮5S。

綜上所述:該交通燈符合設(shè)計(jì)要求。

四、總結(jié)

這次數(shù)電設(shè)計(jì)對我是一個(gè)很大的挑戰(zhàn)。一開始時(shí)我完全沒有思路,后來通過在網(wǎng)上查閱了一些文獻(xiàn),理清了設(shè)計(jì)過程,明白了無論多復(fù)雜的功能結(jié)構(gòu),都要先分析要設(shè)計(jì)哪些模塊,再將各個(gè)模塊分別設(shè)計(jì),最后匯總。

還有在設(shè)計(jì)時(shí)一定要了解清楚芯片各個(gè)針腳的功能,否則會(huì)遇到很多麻煩。在設(shè)計(jì)時(shí)我用到74LS192芯片,但由于網(wǎng)上資料不夠詳細(xì),我對于BO端口的功能不是很清楚,導(dǎo)致起初我一直以為只要減法計(jì)數(shù)器減到0時(shí)BO就一直為低電平輸出,使我無法設(shè)計(jì)置位端LOAD。后來我才了解到BO端口是在計(jì)數(shù)器為0時(shí)再減1的瞬間產(chǎn)生一個(gè)短暫的負(fù)向脈沖,正是利用這個(gè)原理才使我的設(shè)計(jì)得以完成。

同時(shí)由于我采用的multisim14版本有些原因不明的bug,也為我的調(diào)試帶來了許多問題。在我的設(shè)計(jì)圖中,我在倒計(jì)數(shù)模塊的或門輸出端接了一個(gè)開關(guān),是因?yàn)槿绻サ暨@個(gè)開關(guān),直接用導(dǎo)線連接,就會(huì)導(dǎo)致通電時(shí)計(jì)數(shù)器只從60跳到59就卡住,不再工作。加一個(gè)開關(guān)也是我調(diào)試了好久才發(fā)現(xiàn)的解決辦法。

總之這次數(shù)電項(xiàng)目設(shè)計(jì)使我對上課時(shí)學(xué)到的知識有了更深入的認(rèn)識,更使我體會(huì)到了設(shè)計(jì)的流程和思路,也了解到了設(shè)計(jì)時(shí)常遇到的一些問題和解決方法。

第三篇:北郵數(shù)字邏輯小學(xué)期交通燈控制器

實(shí)驗(yàn)一交通燈控制器

一、實(shí)驗(yàn)?zāi)康?/p>

a)熟練掌握 VHDL語言和QuartusII軟件的使用。b)用VHDL進(jìn)行較復(fù)雜邏輯電路的設(shè)計(jì)和調(diào)試。c)熟練掌握isp期間的下載方法。d)理解狀態(tài)機(jī)的工作原理和設(shè)計(jì)方法。

二、實(shí)驗(yàn)所用設(shè)備和環(huán)境

a)實(shí)驗(yàn)設(shè)備:TEC-8實(shí)驗(yàn)箱一個(gè)、EPM7128SLC84-15芯片一個(gè)

b)實(shí)驗(yàn)環(huán)境:WinXP+QuartusII

三、實(shí)驗(yàn)任務(wù)及功能介紹

在十字路口,每條道路各有一組紅、黃、綠燈,用以指揮車輛和行人有序的通行。其中紅燈亮表示禁止通行,黃燈亮表示停車,綠燈亮表示可以通行。設(shè)計(jì)一交通燈控制器用于自動(dòng)控制十字路口的交通燈,指揮各種車輛和行人安全通行。a)東西和南北方向各有一組綠、黃、紅等用于指揮交通,綠燈、黃燈和紅燈的持續(xù)時(shí)間分別為5s,1s和6s。其中初始狀態(tài)為東西南北四個(gè)方向紅黃綠燈全亮,持續(xù)1秒。后東西方向綠燈,南北方向紅燈,持5秒。后東西方向黃燈閃爍,南北方向持續(xù)紅燈,維持1秒。后東西、南北方向交換。b)有緊急狀況時(shí),如有消防車、救護(hù)車或者其他需要優(yōu)先放行的車輛時(shí),各方向上均是紅燈亮。當(dāng)緊急狀況解除時(shí),回復(fù)原來的狀態(tài),繼續(xù)正常運(yùn)行。

c)當(dāng)復(fù)位開關(guān)置1時(shí),切換到初始狀態(tài),即四個(gè)方向紅黃綠燈全亮。

四、課題分析及流程圖:

一共六個(gè)狀態(tài):S0, S1, S2, S3, S4, 緊急狀態(tài)。

五、設(shè)計(jì)思路

a)本題主要是紅黃綠燈時(shí)間的計(jì)時(shí)(即分頻),和狀態(tài)的切換。由于外部時(shí)鐘信號CLK信號為1kHz,而我們需要1Hz,因此需要分頻。

b)對于計(jì)時(shí),采用計(jì)數(shù)器方式,根據(jù)外部時(shí)鐘信號CLK,在上升沿時(shí),將計(jì)數(shù)器加一,分別定義T1,T1,T3,T4的整型數(shù),范圍分別是0~999,0~1999,0~4999和0~199,分別表示1秒、2秒、5秒和0.2秒,其中0.2秒用于黃燈閃爍。引入TIMER數(shù)組來表示該進(jìn)行何種時(shí)間的計(jì)數(shù),每一位依次表示紅黃綠燈,為分頻后信號。

c)設(shè)計(jì)六個(gè)狀態(tài):S0, S1, S2, S3, S4和緊急狀態(tài)。對于狀態(tài)切換,引入currentSTATE和nextSTATE兩個(gè)狀態(tài)變量,取值在STATE中選擇:TYPE STATE IS(S0, S1, S2, S3, S4);d)東西南北方向燈的表示:有三個(gè)4位二進(jìn)制數(shù),RED、YELLOW和GREEN進(jìn)行輸出,從高位到地位依次表示東西南北四個(gè)方向的燈的狀態(tài),1亮,0滅。

e)為了得知什么時(shí)候切換狀態(tài),需引入數(shù)組SWITCH,4位二進(jìn)制數(shù),每一位依次表示紅黃綠燈計(jì)時(shí)器是否計(jì)時(shí)結(jié)束,若結(jié)束則置1,各位相或,得到CTRL信號若有效,則需要切換狀態(tài),反之則不用。

f)對于緊急狀態(tài)信號URGENT和復(fù)位信號CLR,則由開關(guān)控制,若置1,則有效,立即切換到緊急狀態(tài)或初始狀態(tài)S0。

六、詳細(xì)設(shè)計(jì)

a)交通燈控制器實(shí)體

b)arc中信號

c)分頻進(jìn)程,以計(jì)數(shù)器形式得出T1,T2,T3,T4四種時(shí)間。

d)判斷何時(shí)切換狀態(tài)

e)控制黃燈閃爍進(jìn)程,每0.2s閃爍一次

f)六種狀態(tài)的表現(xiàn)形式及緊急狀態(tài)的切換

七、心得體會(huì)

這次雖然小學(xué)期有兩周,但時(shí)間仍然是非常緊張。我由于身體原因在上學(xué)期期末申請了緩考,所以在小學(xué)期的同時(shí)還要準(zhǔn)備6門緩考考試,顯得非常忙碌,能夠分給小學(xué)期的時(shí)間也不多。所以在第一天老師布置課題后,我們小組經(jīng)過討論,讓我選擇了簡單一些的交通燈控制器。

在最開始的時(shí)候,顯得無從下手。雖然我們編寫過LED燈顯示和各種譯碼器,但都只是很簡單的一個(gè)進(jìn)程,如今要自己設(shè)計(jì)整個(gè)控制器,覺得有點(diǎn)不知所措。后來用編寫C++等程序的經(jīng)驗(yàn),我仔細(xì)分析題目,將它分解成更小的模塊,來分別實(shí)現(xiàn),最后再整合在一起。

狀態(tài)切換和顯示部分的編碼還比較簡單,但是分頻部分又有點(diǎn)不知所云,查閱了網(wǎng)上的例子和書籍后,感覺看不太懂他們的分頻方式,詢問同學(xué),同學(xué)們也還不太清楚。后來借到第一天老師課上說的參考書,發(fā)現(xiàn)上面的分頻方式是以計(jì)數(shù)器的形式,利用外部時(shí)鐘,來一個(gè)上升沿計(jì)數(shù)器加一,簡單容易理解,所以采用了。

每一次編寫大作業(yè)的時(shí)候我都喜歡全部編寫完畢后再編譯、測試,但是這樣就造成錯(cuò)誤過多而引起不知道從何下手。因此我這一次采取的是逐部分編譯、測試的方式。但是由于對VHDL已經(jīng)一個(gè)多學(xué)期沒有碰過,生疏了很多,語法錯(cuò)誤非常多。而且編譯通過后還經(jīng)常不能運(yùn)行。再反復(fù)完善代碼卻不能運(yùn)行的時(shí)候,詢問下同學(xué),發(fā)現(xiàn)自己的管腳接的大有問題。是我自己忽略了有特殊指向的管腳,導(dǎo)致我的外部時(shí)鐘CLK沒有輸入進(jìn)去,程序無法繼續(xù)進(jìn)行。并且也發(fā)生了沒有改代碼,但是換了個(gè)實(shí)驗(yàn)箱就運(yùn)行不了的情況,檢查了很久發(fā)現(xiàn)是模式控制沒有打到硬布線模式,影響了整體程序的運(yùn)行,這些都是不通過自己調(diào)試、檢驗(yàn)無法學(xué)習(xí)到的。

這兩周的時(shí)間,我將自己的效率放大到最大,但是仍然因時(shí)間問題無法完成交通燈倒計(jì)時(shí)顯示部分,也是小學(xué)期的一個(gè)遺憾。不過這兩周,我不但又一次加深理解了自己動(dòng)手操作的重要性,也對于芯片的設(shè)計(jì)思路有了更好的理解。由于交通燈控制器是一個(gè)簡單一些的程序,因此我沒有分模塊實(shí)現(xiàn),沒有用到原理圖,也沒有遇到芯片的邏輯塊溢出的問題,但是在每天的最后,小組討論時(shí),我們都會(huì)討論解決這些問題,也讓我從中學(xué)到了很多??傮w來說,這一次的小學(xué)期算是收獲頗豐。附件一:VHDL源代碼 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY trafficLight IS

PORT(CLR, CLK, URGENT : IN STD_LOGIC;GREEN : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);YELLOW : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);RED : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

--CLOCK : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END trafficLight;ARCHITECTURE lightARC OF trafficLight IS TYPE STATE IS(S0, S1, S2, S3, S4);SIGNAL currentSTATE, nextSTATE : STATE;SIGNAL CTRL : STD_LOGIC;SIGNAL SWITCH : STD_LOGIC_VECTOR(3 DOWNTO 0);

--切換狀態(tài)

SIGNAL TIMER : STD_LOGIC_VECTOR(3 DOWNTO 0);

--時(shí)鐘計(jì)時(shí) SIGNAL T1 : INTEGER RANGE 0 TO 999;

--1s SIGNAL T2 : INTEGER RANGE 0 TO 1999;

--2s SIGNAL T3 : INTEGER RANGE 0 TO 4999;

--5s SIGNAL T4 : INTEGER RANGE 0 TO 199;

--0.2s

--SIGNAL T5 : INTEGER RANGE 0 TO 999;

BEGIN PROCESS(CLK, SWITCH)

BEGIN

IF(CLK'event AND CLK = '1')THEN

IF(SWITCH(0)= '0')THEN TIMER(0)<= '0';

T1 <= 0;

ELSE IF(T1 = 999 AND URGENT = '0')THEN

T1 <= 0;

TIMER(0)<= '1';

ELSE IF(URGENT = '0')THEN

T1 <= T1 + 1;TIMER(0)<= '0';

END IF;END IF;END IF;

IF(SWITCH(1)= '0')THEN TIMER(1)<= '0';

T2 <= 0;

ELSE IF(T2 = 1999 AND URGENT = '0')THEN

T2 <= 0;

TIMER(1)<= '1';

ELSE IF(URGENT = '0')THEN

T2 <= T2 + 1;

TIMER(1)<= '0';

END IF;

END IF;

END IF;

IF(SWITCH(2)= '0')THEN

T3 <= 0;TIMER(2)<= '0';

ELSE IF(T3 = 4999 AND URGENT = '0')THEN

T3 <= 0;TIMER(2)<= '1';

ELSE IF(URGENT = '0')THEN

T3 <= T3 + 1;

TIMER(2)<= '0';

END IF;

END IF;

END IF;

END IF;END PROCESS;

CTRL <= TIMER(0)OR TIMER(1)OR TIMER(2);切換狀態(tài)

PROCESS(CLK, SWITCH(3))

BEGIN

IF(CLK'event AND CLK = '1')THEN

IF(T4 = 199 AND SWITCH(3)= '1')THEN

T4 <= 0;

TIMER(3)<= NOT TIMER(3);

ELSIF(SWITCH(3)= '1')THEN

T4 <= T4 + 1;

END IF;

END IF;

END PROCESS;

PROCESS(CTRL, CLR)

BEGIN

--倒計(jì)時(shí)完成IF(CLR = '1')THEN currentSTATE<= s0;

ELSIF(CTRL'event AND CTRL = '0')THEN currentSTATE<= nextSTATE;

END IF;

END PROCESS;

PROCESS(currentSTATE, URGENT)

BEGIN

IF(URGENT = '1')THEN

--緊急狀態(tài),所有方向點(diǎn)亮紅燈

GREEN <= “0000”;YELLOW <= “0000”;RED <= “1111”;

ELSE

CASE currentSTATE IS

WHEN s0 => SWITCH <= “0001”;

GREEN <= “1111”;

YELLOW <= “1111”;

RED <= “1111”;

--CLOCK <= “0000”;nextSTATE<= s1;

WHEN s1 => SWITCH <= “0100”;

GREEN <= “1100”;

YELLOW <= “0000”;

RED <= “0011”;

--CLOCK <= “0110”;nextSTATE<= s2;WHEN s2 => SWITCH <= “1010”;

GREEN <= “0000”;

YELLOW(3)<= TIMER(3);--閃爍 YELLOW(2)<= TIMER(3);YELLOW(1 DOWNTO 0)<= “00”;nextSTATE<= s3;WHEN s3 => SWITCH <= “0100”;

GREEN <= “0011”;

YELLOW <= “0000”;

RED <= “1100”;

--CLOCK <= “0110”;nextSTATE<= s4;

WHEN s4 => SWITCH <= “1010”;

GREEN <= “0000”;

YELLOW(3 DOWNTO 2)<= “00”;

YELLOW(1)<= TIMER(3);--閃爍 YELLOW(0)<= TIMER(3);

RED <= “1100”;nextSTATE<= s1;

END CASE;

END IF;

END PROCESS;

--

PROCESS(CLK, CLOCK)

--

BEGIN----------IF(CLK'event AND CLK = '1')THEN

IF(CLOCK = “0000”)THEN CLOCK <= “0110”;ELSE CLOCK <= CLOCK-1;END IF;IF(T5 = 999)THEN T5 <= 0;--

ELSE T5 <= T5 + 1;--

END IF;--

END IF;

--

END PROCESS;END lightARC;

附件二:調(diào)試日志 2015/9/8周二:

復(fù)習(xí)VHDL基礎(chǔ)知識及語法,了解交通燈大致編寫思路。2015/9/9周三:

分解交通燈控制器:分頻部分,狀態(tài)切換部分,顯示部分

今日計(jì)劃:初步完成分頻部分,考慮程序流程和各個(gè)進(jìn)程間的配合。學(xué)習(xí)時(shí)鐘分頻的方式:途徑:去圖書館借書查閱《VHDL數(shù)字電路設(shè)計(jì)與應(yīng)用實(shí)踐教程》,采用計(jì)數(shù)器的方式,針對外部時(shí)鐘所給的1kHz分成1Hz,從而得到想要的5s、1s、0.2s等時(shí)間。

遇到問題:能夠得到時(shí)間,但不知道該怎么將時(shí)間運(yùn)用到狀態(tài)切換中。解決方案:上網(wǎng)查閱資料。2015/9/10周四:

今日計(jì)劃:完成狀態(tài)切換部分和顯示部分,考慮如何將分頻好的時(shí)鐘信號用在狀態(tài)切換部分。

遇到問題:切換狀態(tài)部分和顯示部分比較簡單,只是需要注意if-else語句使用,因?yàn)閂HDL語法不熟悉導(dǎo)致語法報(bào)錯(cuò)很多。定義的狀態(tài)太多,重復(fù)性大。

解決方案:開始在狀態(tài)切換時(shí),沒想好要幾個(gè)狀態(tài),零零散散分了很多個(gè),導(dǎo)致很多狀態(tài)其實(shí)根本是重合的,刪減后得到最精簡的6個(gè)狀態(tài)。對于分頻時(shí)鐘,引入TIMER數(shù)組記錄時(shí)鐘是否計(jì)時(shí)完畢,若完畢則需要切換狀態(tài),將分頻部分與其他部分串接在一起。2015/9/11周五:

今日計(jì)劃:完成程序,在TEC-8上進(jìn)行初步調(diào)試。

遇到問題:忘記如何下載芯片,詢問同學(xué)后解決。成功下載芯片后發(fā)現(xiàn)不能運(yùn)行,燈的顯示也是亂的。

解決方案:回頭看代碼,發(fā)現(xiàn)在TIMER信號表示出計(jì)時(shí)完畢后,并沒有給激勵(lì)進(jìn)行狀態(tài)切換,引入CTRL信號給予激勵(lì),當(dāng)CTRL有效時(shí)切換狀態(tài),為了方便觀察CTRL信號的變化,將其連接到燈上。遇到問題:下載芯片后仍舊不能繼續(xù)運(yùn)行,但CTRL信號有改變。2015/9/14周一:

今日計(jì)劃:完善程序,在TEC-8上運(yùn)行成功。

遇到問題:下載芯片后仍舊不能繼續(xù)運(yùn)行,但CTRL信號有改變。解決方案:能夠判斷計(jì)時(shí)結(jié)束,能夠給激勵(lì)改變狀態(tài),卻沒有改變狀態(tài)。發(fā)現(xiàn)沒有信號表示紅黃綠燈的切換,用S0~S4來判斷狀態(tài)并切換,但發(fā)現(xiàn)紅黃綠燈有對稱,而S2和S4、S1和S3對于計(jì)時(shí)器來說沒有任何區(qū)別,不需要重復(fù)判斷,因此引入SWITCH數(shù)組,每一位代表一種燈,使得能夠判斷計(jì)時(shí)結(jié)束后切換到何種狀態(tài),減少重復(fù)。修改編譯報(bào)錯(cuò)。2015/9/15周二:

今日計(jì)劃:完成程序,并在TEC-8上正確運(yùn)行。

遇到問題:下載芯片后仍舊不能運(yùn)行。發(fā)現(xiàn)管腳配置有問題。解決方案:按照老師給的ppt上的管腳配置,CLK接57管腳,CLR、URGENT分別接81,80開關(guān)上。RED,YELLOW,GREEN按順序接到20到34的紅黃綠燈上。(開始將CLR接到1號管腳上,發(fā)現(xiàn)必須一直按著CLR才可以運(yùn)行程序,后將CLR改接開關(guān)上。)

遇到問題:在上午運(yùn)行成功后,下午換了一臺電腦,發(fā)現(xiàn)下載芯片后程序不動(dòng)了。

解決方案:在完全沒有改代碼的情況下只能檢查實(shí)驗(yàn)箱是否有誤碰情況。排除燈顯示問題后,確定是外部時(shí)鐘沒有走,發(fā)現(xiàn)開關(guān)置于獨(dú)立而非硬布線模式,導(dǎo)致程序無法運(yùn)行。撥回獨(dú)立后運(yùn)行正常。2015/9/16周三:

完成交通燈控制器,改正紅綠燈顯示不合理的地方,在考慮加入倒計(jì)時(shí)模塊未果后,接受驗(yàn)收。

第四篇:交通燈控制器設(shè)計(jì)實(shí)驗(yàn)報(bào)告

設(shè)計(jì)性實(shí)驗(yàn)項(xiàng)目名稱

交通燈控制器設(shè)計(jì)

實(shí)驗(yàn)項(xiàng)目學(xué)時(shí):3學(xué)時(shí)

實(shí)驗(yàn)要求:■ 必修

□ 選修

一、實(shí)驗(yàn)?zāi)康?/p>

1、學(xué)習(xí)與日常生活相關(guān)且較復(fù)雜數(shù)字系統(tǒng)設(shè)計(jì);

2、進(jìn)一步熟悉EDA實(shí)驗(yàn)裝置和QuartusⅡ軟件的使用方法;

3、學(xué)習(xí)二進(jìn)制碼到BCD碼的轉(zhuǎn)換;

4、學(xué)習(xí)有限狀態(tài)機(jī)的設(shè)計(jì)應(yīng)用。

二、實(shí)驗(yàn)原理

交通燈的顯示有很多方式,如十字路口、丁字路口等,而對于同一個(gè)路口又 有很多不同的顯示要求,比如十字路口,車輛如果只要東西和南北方向通行就很 簡單,而如果車子可以左右轉(zhuǎn)彎的通行就比較復(fù)雜,本實(shí)驗(yàn)僅針對最簡單的南北 和東西直行的情況。

要完成本實(shí)驗(yàn),首先必須了解交通路燈的燃滅規(guī)律。本實(shí)驗(yàn)需要用到實(shí)驗(yàn)箱上交通燈模塊中的發(fā)光二極管,即紅、黃、綠各三個(gè)。依人們的交通常規(guī),“紅燈停,綠燈行,黃燈提醒”。其交通燈的燃滅規(guī)律為:初始態(tài)是兩個(gè)路口的紅燈全亮之后,主干道的綠燈亮,鄉(xiāng)間道路的紅燈亮,主干道方向通車,延時(shí)一段時(shí)間后,鄉(xiāng)間公路來車,主干道綠燈滅,黃燈開始閃爍。閃爍若干次后,主干道紅燈亮,而同時(shí)鄉(xiāng)間公路的綠燈亮,延時(shí)一段時(shí)間后,鄉(xiāng)間公路的綠燈滅,黃燈開始閃爍。閃爍若干次后,再切換到主干道方向,重復(fù)上述過程。

三、設(shè)計(jì)要求

完成設(shè)計(jì)、仿真、調(diào)試、下載、硬件測試等環(huán)節(jié),在型EDA實(shí)驗(yàn)裝置上實(shí)現(xiàn)一個(gè)由一條主干道和一條鄉(xiāng)間公路的匯合點(diǎn)形成的十字交叉路口的交通燈控制器功能,具體要求如下:

1、有MR(主紅)、MY(主黃)、MG(主綠)、CR(鄉(xiāng)紅)、CY(鄉(xiāng)黃)、CG(鄉(xiāng)綠)六盞交通燈需要控制;

2、交通燈由綠轉(zhuǎn)紅前有4秒亮黃燈的間隔時(shí)間,由紅轉(zhuǎn)綠沒有間隔時(shí)間;

3、鄉(xiāng)間公路右側(cè)各埋有一個(gè)串連傳感器,當(dāng)有車輛準(zhǔn)備通過鄉(xiāng)間公路時(shí),發(fā)出請求信號S=1,其余時(shí)間S=0;

4、平時(shí)系統(tǒng)停留在主干道通行(MGCR)狀態(tài),一旦S信號有效,經(jīng)主道黃燈4秒(MYCR)狀態(tài)后轉(zhuǎn)入鄉(xiāng)間公路通行(MRCG)狀態(tài),但要保證主干道通行大于一分鐘后才能轉(zhuǎn)換;

5、一旦S信號消失,系統(tǒng)脫離MRCG狀態(tài),即經(jīng)鄉(xiāng)道黃燈4秒(MRCY)狀態(tài)進(jìn)入MGCR狀態(tài),即使S信號一直有效,MRCG狀態(tài)也不得長于20秒鐘;

6、控制對象除紅綠燈之外,還包括分別在主干道和鄉(xiāng)間公路各有一個(gè)兩位十進(jìn)制倒計(jì)時(shí)數(shù)碼管顯示。

四、主要儀器設(shè)備

1、微機(jī)

1臺

1套 1套

2、QuartusII集成開發(fā)軟件

3、EDA實(shí)驗(yàn)裝置

五、實(shí)驗(yàn)步驟

源程序:

0module traffic1(clk,s,rst,light,sel,SG);input clk,s,rst;output[5:0] light;

output [2:0]sel;output [7:0]SG;reg [5:0] light;reg clk1;reg [3:0] sc;

reg [7:0] count;reg [7:0] cnt,SG;reg [2:0] sel;reg [3:0]a;parameter s0=0,s1=1,s2=2,s3=3,s4=4;initial

begin

count<=8'b01100000;

light<=6'b001100;

sc=s0;

end

always @(posedge clk)begin

begin cnt=cnt+1;

if(cnt==100)begin clk1=1'b1;cnt=0;end

else clk1=1'b0;//100分頻,CLK為數(shù)碼管掃描頻率,CLK1為計(jì)數(shù)頻率

if(sel<7)sel=sel+1;else sel=6;

end //sel為數(shù)碼管選擇

begin

case(sel)

7: a=count[3:0];//0數(shù)碼管為個(gè)位

6: a=count[7:4];//1數(shù)碼管為十位

default: a=0;

endcase

case(a)

0:SG<=8'b00111111;1:SG<=8'b00000110;

2:SG<=8'b01011011;3:SG<=8'b01001111;

4:SG<=8'b01100110;5:SG<=8'b01101101;

6:SG<=8'b01111101;7:SG<=8'b00000111;

8:SG<=8'b01111111;9:SG<=8'b01101111;//8段譯碼值

default: SG=8'b11111111;

endcase

end end

always @(posedge clk1 or negedge rst)

begin

if(!rst)begin count = 0;sc=s3;end // count set nothing but else 0

else if(count == 0)

begin

case(sc)

s0: begin if(s)begin sc=s1;count = 8'b00000100;light=6'b010100;end else begin sc=s4;count = 8'b01100000;end end

s1: begin count = 8'b00100000;sc=s2;light=6'b100001;end

s2: begin count = 8'b00000100;sc=s3;light=6'b100010;end

s3: begin count = 8'b01100000;sc=s0;light=6'b001100;end

s4: begin if(s)begin sc=s1;count = 8'b00000100;light=6'b010100;end else begin sc = s4;count = 8'b01100000;light<=6'b001100;end end

default begin sc=s0;count =8'h60;end

endcase

end

else

if((sc==s2)&(s==0))begin sc=s3;count = 8'b00000100;light=6'b100010;end

else

if((sc==s4)&(s==1))begin sc=s1;count = 8'b00000100;light=6'b010100;end

else if(count[3:0] == 4'b0000)

begin count = count-7;end

else

begin count = count-1;end

end endmodule

管腳鎖定

六、波形仿真

主干道60s倒計(jì)時(shí)

s信號為1時(shí)

七、實(shí)驗(yàn)心得

通過本次實(shí)驗(yàn),讓我進(jìn)一步掌握了軟件quartus的使用流程,一開始實(shí)驗(yàn)時(shí)波形仿真是正確的,但在電路上實(shí)現(xiàn)時(shí)主干道亮黃燈時(shí),鄉(xiāng)間道路亮的是綠燈,這顯然是不對的,后面發(fā)現(xiàn)是管腳鎖定時(shí)出現(xiàn)了問題,改回來之后就沒問題了。管腳鎖定時(shí)不能粗心,不然很容易出現(xiàn)問題。

曹軍

生醫(yī)121班

第五篇:交通燈控制電路設(shè)計(jì)自動(dòng)化 數(shù)字電子技術(shù)課程設(shè)計(jì)

綜 述

本次設(shè)計(jì)主要分為四個(gè)部分,第一部分:信號產(chǎn)生電路;第二部分:電子示電路;第三部分:倒計(jì)時(shí)設(shè)計(jì),第四部分:交通燈及交通燈控制電路

在本次設(shè)計(jì)中采用555定時(shí)器產(chǎn)生CP=1Hz的脈沖信號,經(jīng)過用741192設(shè)計(jì)的預(yù)置狀態(tài)為59的60進(jìn)制加計(jì)數(shù)器和預(yù)置狀態(tài)為29的30進(jìn)制計(jì)數(shù)器。并使進(jìn)位位作為脈沖輸出,實(shí)現(xiàn)5分頻,然后用芯片74161和74139實(shí)現(xiàn)南北干道和支東西干道紅,綠,黃色燈亮的時(shí)間控制,最后一部分的減計(jì)數(shù)器選用74193進(jìn)行級聯(lián)計(jì)數(shù),譯碼器選用cc4511,本人主要設(shè)計(jì)減計(jì)數(shù)器及數(shù)碼管顯示倒計(jì)時(shí)部分

一、設(shè)計(jì)任務(wù)與要求

1.東西方向綠燈亮,南北方向紅燈亮,時(shí)間30。2.東西方向與南北方向黃燈亮,時(shí)間5s。3.南北方向綠燈亮,東西方向紅燈亮,時(shí)間60。

二、方案設(shè)計(jì)與論證

根據(jù)設(shè)計(jì)任務(wù)與要求,我們可以知道這個(gè)交通燈的設(shè)計(jì)是分南北干道和東西干道的,兩個(gè)方面的時(shí)間是不同的,東西方向通行30s,南北方向60s,這就要求我們要有兩個(gè)計(jì)數(shù)器,根據(jù)我自己的經(jīng)驗(yàn),東西方向通行30s完,倒計(jì)時(shí)數(shù)字顯示器會(huì)顯示到0,然后切換到南北方向通行60s完之后, 倒計(jì)時(shí)數(shù)字顯示器也會(huì)顯示到0之后然后切換到南北方向,這樣如此循環(huán),由于黃燈是當(dāng)兩個(gè)計(jì)數(shù)器倒計(jì)時(shí)到5時(shí)開始閃,我們就可以在這時(shí)發(fā)出一個(gè)脈沖然后一直保持到0,或者是接收0~5這段時(shí)間的脈沖都可以控黃燈只在到了這段時(shí)間才亮;方案:

交通燈控制原理圖:

2.a 交通燈原理框圖

首先由555定時(shí)器產(chǎn)生1s的信號脈沖,通過由一些1k電阻和三片74LS245,兩片74LS192處理構(gòu)成定時(shí)電路處理,產(chǎn)生時(shí)間輸出信號作用電子顯示器,另一部分的1s的信號脈沖通過由兩片74LS112的JK觸發(fā)器組成的路燈控制電路的對1s的信號處理,產(chǎn)生對交通路燈有控制作用的電子邏輯信號,從而實(shí)現(xiàn)按要求的對路燈的正??刂?。

2三、單元電路設(shè)計(jì)

3.1時(shí)間脈沖產(chǎn)生電路

由 555 定時(shí)器和外接元件 R1、R2、C 構(gòu)成多諧振蕩器,腳 2 與腳 6 直接相連。電路沒有穩(wěn)態(tài),僅存在兩個(gè)暫穩(wěn)態(tài),電路亦不需要外接 觸發(fā)信號,利用電源通過 R1、R2 向 C 充電,以及 C 通過 R2 向放電端 放電,使電路產(chǎn)生振蕩。電容 C 在 和 之間充電和放電,從而在輸出端得到一系列的矩形波,且通過調(diào)節(jié)參數(shù),使得產(chǎn)生的矩形波為1hz的也就是周期為1s的脈沖發(fā)生電路。

3.1a 1s脈沖信號產(chǎn)生電路

3.2電子顯示電路

一個(gè)LED數(shù)碼管可用來顯示一位0~9十進(jìn)制數(shù)和一個(gè)小數(shù)點(diǎn)。小型數(shù)碼管(0.5寸和0.36寸)每段發(fā)光二極管的正向壓降,隨顯示光(通常為紅、綠、黃、橙色)的顏色不同略有差別,通常約為2~2.5V,每個(gè)發(fā)光二極管的點(diǎn)亮電流在5~10mA。LED數(shù)碼管要顯示BCD碼所表示的十進(jìn)制數(shù)字就需要有一個(gè)專門的譯碼器,該譯碼器不但要完成譯碼功能,還要有相當(dāng)?shù)尿?qū)動(dòng)能力。

3.2a BCD碼顯示電路

3.3計(jì)時(shí)器電路

計(jì)數(shù)器

倒計(jì)時(shí)計(jì)數(shù)電路主要由計(jì)數(shù)器構(gòu)成,它在整個(gè)系統(tǒng)設(shè)計(jì)中的作用是實(shí)現(xiàn)計(jì)時(shí)計(jì)數(shù),在此我們選用減法計(jì)數(shù)器,因?yàn)楸驹O(shè)計(jì)說明時(shí)間可預(yù)置,所以需要可預(yù)置數(shù)的減計(jì)數(shù)器。目前,在實(shí)際工程應(yīng)用中,我們已經(jīng)很少使用小規(guī)模的觸發(fā)器去拼接成各種計(jì)數(shù)器,而是直接選用集成計(jì)數(shù)器產(chǎn)品。3.3a 74LS192 74LS193引腳圖

本次課程設(shè)計(jì)需要50進(jìn)制和30進(jìn)制減計(jì)數(shù)器各一個(gè),所以采用兩個(gè)74193級聯(lián)計(jì)數(shù),將表示個(gè)位的計(jì)數(shù)芯片借位端BO連接后一級的CPD即可進(jìn)行級聯(lián)計(jì)數(shù),后一級輸出為十位位。以下為設(shè)計(jì)中用到的50和30進(jìn)制減計(jì)數(shù)器。以下為計(jì)數(shù)器的邏輯電路圖:

3.3b 范圍為49~0的50進(jìn)制減計(jì)數(shù)器

3.3c計(jì)數(shù)范圍為29~0的30進(jìn)減制計(jì)數(shù)器

3.4交通燈控制電路與交通燈

3.4,1交通燈控制電路

交通信號燈轉(zhuǎn)換器其實(shí)就是由計(jì)數(shù)進(jìn)制轉(zhuǎn)換器來實(shí)現(xiàn),即一個(gè)JK觸發(fā)器,其中J、K端都同時(shí)接高電平,即構(gòu)成了一個(gè)T’觸發(fā)器,目的就是實(shí)現(xiàn)翻轉(zhuǎn)功能,其時(shí)鐘輸入端是由倒計(jì)時(shí)計(jì)數(shù)器中的兩片74192的八個(gè)輸出端經(jīng)過一個(gè)或門然后經(jīng)過一個(gè)非門接入。

3.4.1a 交通燈控制電路

3.4,2交通燈模擬電路

S0:沒有打開電源的狀態(tài)。S1:東西方向綠燈亮,南北方向紅燈亮,時(shí)間30s。S0,S1,S2,S3中任一狀態(tài)下打開電源會(huì)進(jìn)入S1狀態(tài),數(shù)碼管初始值為60。數(shù)碼管最大顯示為60,出現(xiàn)“0”的瞬間進(jìn)入下一狀態(tài)。(S2)S2:東西方向與南北方向黃燈亮,時(shí)間5s。

數(shù)碼管最大顯示為30,出現(xiàn)“0”的瞬間進(jìn)入下一狀態(tài)。S3:南北方向綠燈亮,東西 方向紅燈亮,時(shí)間60s。數(shù)碼管最大顯示為60,出現(xiàn)“0”的瞬間進(jìn)入下一狀態(tài)。

3.4.2a 交通燈模擬電路

心得體會(huì)

經(jīng)過一周的努力,我終于完成關(guān)于交通燈控制電路的電子課程設(shè)計(jì),通過一周不斷的查資料讓我積累了許多實(shí)際操作經(jīng)驗(yàn),已初步掌握了數(shù)電的應(yīng)用技術(shù),以及數(shù)字電路的知識和有關(guān)器件的應(yīng)用,我深刻體會(huì)到了數(shù)子電路技術(shù)對當(dāng)今現(xiàn)代社會(huì)的重要作用。經(jīng)過這次設(shè)計(jì),我學(xué)會(huì)了許多東西,學(xué)會(huì)了嚴(yán)密的思考,構(gòu)想及怎樣把計(jì)劃付諸于實(shí)際行動(dòng)之中。同時(shí)與社會(huì)的不斷高速發(fā)展的步伐相比,我認(rèn)識到自己所學(xué)的知識和技能還遠(yuǎn)遠(yuǎn)不足,有些實(shí)際性的問題還不能夠解決,缺少很多有實(shí)際運(yùn)用價(jià)值的知識儲備,缺乏應(yīng)有的動(dòng)手解決實(shí)際問題的能力,缺乏些高效利用及篩選大量資料的能力,缺乏資源共享及應(yīng)有的團(tuán)隊(duì)合作精神,有待進(jìn)一步提高,我應(yīng)當(dāng)學(xué)好自己的專業(yè)知識以適應(yīng)不斷發(fā)展的社會(huì)。

在這次課程設(shè)計(jì)中,我學(xué)會(huì)了如何有效的利用網(wǎng)絡(luò)資源及圖書館的藏書,找到了幾個(gè)很不錯(cuò)的專業(yè)網(wǎng)站,為以后的查閱專業(yè)方面的信息和相互之間的交流打下了堅(jiān)實(shí)的基礎(chǔ),學(xué)會(huì)了如何看電路圖,識別電路圖,提高了自己的專業(yè)技能,同時(shí)也培養(yǎng)了自己獨(dú)立解決實(shí)際問題的能力,也培養(yǎng)了自己認(rèn)真和嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度,收到了很大的啟發(fā),為以后的工作積累了些寶貴的經(jīng)驗(yàn)。

參考文獻(xiàn)

[1]高吉祥.數(shù)字電子技術(shù).北京:電子工業(yè)出版社

[2]梁宗善.電子技術(shù)基礎(chǔ)課程設(shè)計(jì)[M].武漢:華中理工大學(xué)出版社 [3]李玲遠(yuǎn),范綠蓉,陳小宇.電子技術(shù)基礎(chǔ)實(shí)驗(yàn).北京:科學(xué)出版社 [4]彭介華.電子技術(shù)課程設(shè)計(jì)指導(dǎo)[M].北京:高等教育出版社 [5]康光華

電子技術(shù)基礎(chǔ)(數(shù)電部分)華中理工大學(xué)電子學(xué)教研室

下載數(shù)字系統(tǒng)課程設(shè)計(jì)交通燈控制器word格式文檔
下載數(shù)字系統(tǒng)課程設(shè)計(jì)交通燈控制器.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    基于Verilog_HDL的交通燈控制器設(shè)計(jì)范文大全

    目 錄 第一章設(shè)計(jì)原理 ....................................................................................................................................... 1 1......

    基于FPGA的交通燈控制器設(shè)計(jì)

    數(shù)字系統(tǒng)課程設(shè)計(jì) 基于FPGA的交通控制燈設(shè)計(jì) 姓名:學(xué)號:班級: 摘要 隨著社會(huì)的發(fā)展,城市規(guī)模的不斷擴(kuò)大,城市交通成為制約城市發(fā)展的一大因素。人口和汽車日益增長,市區(qū)交......

    PLC交通燈課程設(shè)計(jì)

    PLC的定義及工作原理 ⒈定義:可編程控制器,簡稱PLC(Programmable logic Controller),是指以計(jì)算機(jī)技術(shù)為基礎(chǔ)的新型工業(yè)控制裝置。“PLC是一種專門為在工業(yè)環(huán)境下應(yīng)用而設(shè)計(jì)的數(shù)......

    交通燈單片機(jī)課程設(shè)計(jì)

    《單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告》 課題:以交通燈為主的多功能任務(wù)設(shè)計(jì) 班級 學(xué)號 學(xué)生姓名指導(dǎo)教師 淮陰工學(xué)院 電子與電氣工程學(xué)院 2015-6 1 目錄 一、 課程設(shè)計(jì)目......

    基于單片機(jī)AT89C51的交通燈控制器的設(shè)計(jì)

    2014屆本科生畢業(yè)設(shè)計(jì)分類號:TP368.1 題目:基于單片機(jī)AT89C51的交通燈控制器的設(shè)計(jì) 姓 名: 張建猛 學(xué) 號 : 2010080870 學(xué) 院: 機(jī)械與電子工程學(xué)院 專 業(yè): 自動(dòng)化 指導(dǎo)教師職稱: 胡......

    基于Verilog HDL的交通燈控制器設(shè)計(jì)

    目 錄 第一章設(shè)計(jì)原理 ....................................................................................................................................... 1 1......

    數(shù)電課程設(shè)計(jì)——交通燈(范文模版)

    課 程 設(shè) 計(jì) 課程名稱 數(shù)字電子技術(shù)基礎(chǔ) 題目名稱 交通燈控制電路學(xué)生學(xué)院 專業(yè)班級 學(xué)號學(xué)生姓名 鄧嘉琦 指導(dǎo)教師2014 年5 月 25 日 一、設(shè)計(jì)題目: 交通燈控制電路 二、實(shí)......

    數(shù)字電路課程設(shè)計(jì)報(bào)告—交通燈

    數(shù)字電路課程設(shè)計(jì) --交通燈控制器的設(shè)計(jì) 院系:姓名: 指導(dǎo)教師: 完成日期:2011年6月7日 數(shù)字電路課程設(shè)計(jì) --交通燈控制器的設(shè)計(jì) 一、課程設(shè)計(jì)目的 1.熟悉集成電路的引腳安排......

主站蜘蛛池模板: 10000部拍拍拍免费视频| 亚洲精品中文字幕乱码| 精品久久久无码中文字幕一丶| 内射合集对白在线| 99精品国产在热久久婷婷| 久久99亚洲网美利坚合众国| 亚洲午夜无码极品久久| 午夜免费啪视频在线观看| 亚洲国产日韩精品一区二区三区| 蜜乳av久久久久久久久久久| 亚洲国产成人精品无码区99| 日韩伦人妻无码| 国产欧美日韩综合精品二区| 内射白嫩少妇超碰| 国产亚洲精品久久19p| 中国少妇| 久久精品女人天堂av| 国产美女脱的黄的全免视频| 久久久日韩精品一区二区| 乱码午夜-极品国产内射| 亚洲日韩欧美一区二区三区在线| 无码动漫性爽xo视频在线观看| 日本欧美大码aⅴ在线播放| 国产精品自在拍首页视频| 色综合伊人色综合网站无码| 色悠久久久久久久综合网伊人| 成人性生交大片免费看96| 久久这里只有精品首页| 男女猛烈激情xx00免费视频| 成人欧美一区二区三区黑人免费| 久久99精品久久久久久清纯| 国产98色在线 | 日韩| 亚洲精品不卡无码福利在线观看| 欧美丰满老熟妇xxxxx性| 久久久久亚洲av片无码| 中文字幕乱码中文乱码777| 18禁成人网站免费观看| 亚洲欧美一区二区三区日产| 久久夜色精品国产欧美乱| 亚洲最大成人一区久久久| 人妻熟妇乱又伦精品视频无广告|