版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 智能交通燈設計與實現(xiàn) 摘要本文介紹了一個基于PROTEUS的智能交通燈控制系統(tǒng)的設計與仿真,系統(tǒng)能夠根據(jù)十字路口雙車道車流量的情況控制交通信號燈按特定的規(guī)律變化。本文首先對智能交通燈的研究意義和智能交通燈的研究現(xiàn)狀進行了分析,指出了現(xiàn)狀交通燈存在的缺點,并提出了改進方法。智能交通燈控制系統(tǒng)通常要實現(xiàn)自動控制和在緊急情況下能夠手動切換信號燈讓特殊車輛優(yōu)先通行。本文還對AT89S51單片機的結構特點和重要引腳功能進行了介紹,同時對智能交通燈控制系統(tǒng)的設計進行了詳細的分析。最后介紹了PROTEUS嵌入式系統(tǒng)仿真與開發(fā)平臺的使用方法,利用Proteus軟件對交通燈控制系統(tǒng)進行了仿真,仿真結果表明系統(tǒng)
2、工作性能良好。關鍵詞:單片機,智能交通燈控制系統(tǒng),PROTEUS仿真一. 引言:智能的交通信號燈指揮著人和各種車輛的安全運行,實現(xiàn)紅、黃、綠燈的自動指揮是城鄉(xiāng)交通管理現(xiàn)代化的重要課題.在城鄉(xiāng)街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅、黃、綠交通信號燈,其中紅燈亮,表示該條道路禁止通行; 黃燈亮,表示該條道路上未過停車線的車輛停止通行,已過停車線的車輛繼續(xù)通行; 綠燈亮,表示該條道路允許通行.交通燈控制電路自動控制十字路口兩組紅、黃、綠交通燈的狀態(tài)轉換,指揮各種車輛和行人安全通行,實現(xiàn)十字路口城鄉(xiāng)交通管理自動化.本文為了實現(xiàn)交通道路的管理,力求交通管理先進性、科學
3、化. 分析應用了單片機實現(xiàn)智能交通燈管制的控制系統(tǒng),以及該系統(tǒng)軟、硬件設計方法,實驗證明該系統(tǒng)實現(xiàn)簡單、經濟,能夠有效地疏導交通,提高交通路口的通行能力.二. 技術指標 1) 設計一個十字路口的交通燈控制電路,要求南北方向和東西方向兩個交叉路口的車輛交替運行,兩個方向能根據(jù)車流量大小自動調節(jié)通行時間,車流量大,通行時間長,車流量小,通行時間短。 2) 每次綠燈變紅燈時,要求黃燈先亮5S,才能變換運行車輛.3) 東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用數(shù)碼管顯示器進行顯示(采用倒計時的方法)。4) 同步設置人行橫道紅、綠燈指示。5) 考慮到特殊車輛情況,設置緊急轉換開
4、頭。三. 智能交通燈的方案選擇1) 智能交通燈的研究現(xiàn)狀目前設計交通燈的方案有很多,有應用CPLD設計實現(xiàn)交通信號燈控制器方法;有應用PLC實現(xiàn)對交通燈控制系統(tǒng)的設計;有應用單片機實現(xiàn)對交通信號燈設計的方法。目前,國內的交通燈一般設在十字路門,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個倒計時的顯示計時器來控制行車。對于一般情況下的安全行車,車輛分流尚能發(fā)揮作用,但根據(jù)實際行車過程中出現(xiàn)的情況,還存在以下缺點:1兩車道的車輛輪流放行時間相同且固定, 在十字路口,經常一個車道為主干道,車輛較多,放行時間應該長些;另一車道為副干道,車輛較少,放行時間應該短些。2沒有考慮緊急車通過時,兩車道應采
5、取的措施,臂如,消防車執(zhí)行緊急任務通過時,兩車道的車都應停止,讓緊急車通過。2) 智能交通燈的設計方案及改進措施針對道路交通擁擠,交叉路口經常出現(xiàn)擁堵的情況。利用單片機控制技術提出了軟件和硬件設計方案及兩點改進措施:1、根據(jù)各道路路口車流量的大小自動調節(jié)通行時間。2、考慮特殊車輛通行情況,設計緊急切換開關。由于AT89S51單片機自單帶有2計數(shù)器,6個中斷源,能滿足系統(tǒng)的設計要求。用單片機設計不但設計簡單,而且成本低,用其設計的交通燈也滿足了要求,所以本文采用單片機設計交通燈,系統(tǒng)構圖如圖1所示:圖1系統(tǒng)結構框圖 3) AT89S51單片機的主要性能參數(shù)和主要引腳對交通燈控制系統(tǒng)的設計,首先應
6、對交通燈的核心控制芯片的基本結構和特征以及主要引腳有比較詳細的了解。AT89S51 是美國 ATMEL 公司生產的低功耗,高性能 CMOS 8 位單片機,片內含 4k bytes 的可系統(tǒng)編程的 Flash 只讀程序存儲器,器件采用 ATMEL 公司的高密度、非易失性存儲技術生產,兼容標準 8051 指令系統(tǒng)及引腳。它集 Flash 程序存儲器 既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用 8 位微處理器于單片芯片中,ATMEL 公司的功能強大,低價位 AT89S51 單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。、主要性能參數(shù)·與MCS-51產品指令系統(tǒng)完
7、全兼容·4k字節(jié)在系統(tǒng)編程(ISP)Flash閃速存儲器·1000次擦寫周期·4.05.5V的工作電壓范圍·全靜態(tài)工作模式:0Hz33MHz·三級程序加密鎖·128×8字節(jié)內部RAM·32個可編程IO口線·2個16位定時計數(shù)器·6個中斷源·全雙工串行UART通道·低功耗空閑和掉電模式·看門狗(WDT)及雙數(shù)據(jù)指針·掉電標識和快速編程特性·靈活的在系統(tǒng)編程(ISP字節(jié)或頁寫模式)、主要引腳功能·VCC:電源電壓·GND:地
8、83;P0口:P0口是一組8位漏極開路型雙向I0口,也即地址數(shù)據(jù)總線復用口。作為輸出口用時,每位能驅動8個TTL邏輯門電路,對端口寫“l(fā)”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內部上拉電阻。在F1ash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。·P1口:Pl 是一個帶內部上拉電阻的8位雙向IO口,Pl的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“l(fā)”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某
9、個引腳被外部信號拉低時會輸出一個電流(IIL)。Flash編程和程序校驗期間,Pl接收低8位地址。表1 具有第二功能的P1口引腳端口引腳第二功能:P1.5MOSI(用于ISP編程)P1.6MOSI(用于ISP編程)P1.7MOSI(用于ISP編程)·P2 口:P2 是一個帶有內部上拉電阻的8 位雙向IO 口,P2 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行
10、MOVXDPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVXRi 指令)時,P2 口線上的內容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器的內容),在整個訪問期間不改變。Flash編程或校驗時,P2亦接收高位地址和其它控制信號。·P3 口:P3 口是一組帶有內部上拉電阻的8 位雙向I0 口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個TTL邏輯門電路。對P3口寫入“l(fā)”時,它們被內部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I0口線外,更重要的用途是它的第二功能,如下表所
11、示:表2 具有第二功能的P1口引腳端口引腳第二功能:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外中斷0)P3.3/ INT1(外中斷1)P3.4T0(定時計數(shù)器0外部輸入)P3.5T1(定時計數(shù)器1外部輸入)P3.6/ WR(外部數(shù)據(jù)存儲器寫選通)P3.7/ RD外部數(shù)據(jù)存儲器讀選通)P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。·RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。WDT 溢出將使該引腳輸出高電平,設置SFR AUXR的DISRT0 位(地址8EH)可打開或關閉該功能。DISRT
12、0位缺省為RESET輸出高電平打開狀態(tài)。·ALE:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE 仍以時鐘振蕩頻率的16 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對F1ash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條M0VX和M0VC指令ALE才會被激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置A
13、LE無效。·程序儲存允許()輸出是外部程序存儲器的讀選通信號,當AT89S51 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,沒有兩次有效的信號。·VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內部程序存儲器中的指令。F1ash存儲器編程時,該引腳加上+12V的編程電壓Vpp。·XTAL1:振蕩器反相放大器及內部時鐘發(fā)生器的輸入端。·
14、;XTAL2:振蕩器反相放大器的輸出端2。四. 智能交通燈方案的實現(xiàn)根據(jù)設計任務和要求,可畫出該控制器的原理框圖, 為確保十字路口的交通安全,往往都采用交通燈自動控制系統(tǒng)來控制交通信號。其中紅燈(R)亮,表示禁止通行;黃燈(Y)亮表示暫停;綠燈(G)亮表示允許通行。1) 控制器的系統(tǒng)框圖如圖2所示。圖2 交通燈控制器系統(tǒng)框圖2) 電路圖智能交通燈電路圖如圖3所示。圖3 智能交通燈電路圖3) 智能交通燈系統(tǒng)的組成交通燈系統(tǒng)由四部分組成:車檢測電路,信號燈電路,時間顯示電路,緊急轉換開關。4) 工作原理大家都明白,綠燈的放行時間與車輛通過數(shù)量不成正比。比如說20秒內每車道可以通過20輛車,40秒內
15、每車道卻可以通過45輛車。因為這有一個起步的問題,還有一個黃燈等待問題。也就是說,綠燈放行時間越長,單位時間通過車輛的數(shù)量就越多。我們來計算一下,每車道通行20秒內可以通過20輛車,一個紅綠燈循環(huán)是40秒(單交叉路口),加上每次狀態(tài)轉換的黃燈5秒(一個循環(huán)要兩次轉換),即一個紅綠黃燈循環(huán)要50秒,即50秒內通行的車輛為40輛。通過一輛車的平均時間是1.25秒。如果每次車輛通行的時間改為40秒,40秒內每車道可以通過45輛,一個紅綠燈循環(huán)是80秒(單交叉路口),加上每次狀態(tài)轉換的黃燈5秒(一個循環(huán)要兩次轉換),即一個紅綠黃燈循環(huán)要90秒,即90秒內通行的車輛為90輛。通過一輛車的平均時間只需1秒
16、。顯然在車輛擁擠的情況下綠燈的通行時間越長,單位時間內通行的車輛越多,可以有效緩解車輛擁堵問題。當然綠燈時間也不可能無限長,要考慮到讓另一路口的等待時間不能過長。人們總是希望在交通燈前等候的時間越短越好。所以筆者設定了綠燈通行時間的上限為40秒。在非擁擠時段綠燈的通行時間的下限為20秒,當交叉路口雙方車輛較少時通行時間設為20秒,這樣可以大大縮短車輛在紅燈面前的等待時間。當交叉路口雙方車輛較多時通行時間設為40秒。、車檢測電路用來判斷各方向車輛狀況,比如:20秒內可以通過的車輛為20輛,當20秒內南往北方向車輛通過車輛達不到20輛時,判斷該方向為少車,當20秒內北往南方向車輛通過車輛也達不到2
17、0輛時,判斷該方向也為少車,下一次通行仍為20秒,當20秒時間內南往北或北往南任意一個方向通過的車輛達20輛時證明該狀態(tài)車輛較多,下一次該方向綠燈放行時間改為40秒,當40秒內通過的車輛數(shù)達45輛時車輛判斷為擁擠,下一次綠燈放行時間改仍為40秒,當40秒車輛上通過車輛達不到45輛時,判斷為少車,下次綠燈放行時間改為20秒, 依此類推。綠燈下限時間為20秒,上限值為40秒,初始時間為20秒。這樣檢測,某次可能不準確,但下次肯定能彌補回來,累積計算是很準確的,這就是人們常說的“模糊控制”。因為路上的車不可能突然增多,塞車都有一個累積過程。這樣控制可以把不斷增多的車輛一步一步消化,雖然最后由于每個路
18、口的綠燈放行時間延長而使等候的時間變長,但比塞車等候的時間短得多。本系統(tǒng)的特點是成本低,控制準確。十字路口車輛通行順序如圖4所示: 圖4 十字路口車輛通行順序由于南往北,北往南時間顯示相同,所以只要一個方向多車,下次時間就要加長東往西,西往東也一樣,顯示時間選擇如表3.表3 顯示時間選擇車輛情況本次該方向通行時間下次該方向通行時間本次該方向通行時間本次該方向通行時間南往北少車,北往南少車20秒20秒40秒20秒南往北少車,北往南多車20秒40秒40秒40秒南往北多車,北往南少車20秒40秒40秒40秒南往北多車,北往南多車20秒40秒40秒40秒東往西少車,西往東少車20秒20秒40秒20秒東
19、往西少車,西往東多車20秒40秒40秒40秒東往西多車,西往東少車20秒40秒40秒40秒東往西多車,西往東多車20秒40秒40秒40秒、信號燈電路信號燈用來顯示車輛通行狀況,下面以一個十字路口為例,說明一個交通燈的四種狀態(tài)見圖5。每個路口的信號的的轉換順序為:綠>黃>紅 綠燈表示允許通行,黃燈表示禁止通行,但已經駛過安全線的車輛可以繼續(xù)通行,是綠燈過渡到紅燈提示燈。紅燈表示禁止通行。綠燈的最短時間為20秒,最長時間為40秒,紅紅最短時間為25秒,最長時間為45秒,黃燈時間為5秒。紅黃綠綠黃紅紅黃綠綠黃紅綠黃紅紅黃綠紅黃綠紅黃綠紅黃綠綠黃紅綠黃紅紅黃綠綠黃紅綠黃紅紅黃綠紅黃綠圖5交
20、通信號燈運行狀態(tài) 、時間顯示電路在交通信號燈的正上方安裝一個可以顯示綠燈通行時間,紅燈等待時間的顯示電路,采用數(shù)碼管顯示電路是一種很好的方法。由于東往西方向和西往東方向顯示的時間相同,南往北方向和北往南方向顯示的時間也相同,所以只需要考慮四位數(shù)碼管顯示電路,其中東西方向兩位,南北方向兩位,兩位數(shù)碼管可以時間的時間為0-99秒完全可以滿足系統(tǒng)的要求,數(shù)碼管連接方法如圖6所示圖6 數(shù)碼管連接方法下面我們用這種方法顯示交通燈的時間,南北方向要顯示20秒,東西方向要顯示25秒,那么我們先給P0口送2的共陰極碼即5BH,讓第一位2要顯示的位碼GND段為低電平,其它三位的控制端都接高電平,那么第一位就顯示
21、2,其它三位不亮。讓其顯示1MS后再給P0口送0的共陰極碼即3FH,讓第二位要顯示0的位碼GND段為低電平,其它三位的控制端都接高電平,那么第二位就顯示0,其它三位不亮。依此類推分別送完第一位2,第二位0,第三位2,第四位5,每一位點亮1MS一個掃描周期為4MS,一秒時間就要掃描250次其程序如下:MOV R6,#250;顯掃描次數(shù)LOOP:MOV P0,#5BH ;送2的共陰極碼CLR P2.0;第一位顯示2ACALL D1MS ;延時1MSSETB P2.0 ;滅第一位MOV P0,#3FH ;送0的共陰極碼CLR P2.1;第二位顯示0ACALL D1MS ;延時1MSSETB P2.1
22、 ;滅第二位MOV P0,#5BH ;送2的共陰極碼CLR P2.2;第三位顯示2ACALL D1MS ;延時1MSSETB P2.2 ;滅第三位MOV P0,#6DH ;送5的共陰極碼CLR P2.3;第四位顯示5ACALL D1MS ;延時1MSSETB P2.3 ;滅第四位DJNZ R7,LOOP;不夠一秒,繼續(xù)掃描NEXTNUMBER;到一秒顯示下一個數(shù)D1MS: ;1MS延時程序STAT1:MOV R4,#2MOV R3,#250DJNZ R3,$DJNZ R4,STAT1RET、緊急轉換開關電路一般情況下交通燈按照車流量大小合理分配通行時間,按一定規(guī)律變化,但考慮緊急車通行車況,設
23、計緊急通行開關,下面簡述單片機的中斷原理。 ) Mcs51的中斷源 8051有5個中斷源,它們是兩個外中斷INT0(P3.2)和INT1(P3.3)、兩個片內定時/計數(shù)器溢出中斷TF0和TF1,一個是片內串行口中斷TI或RI,這幾個中斷源由TCON和SCON兩個特殊功能寄存器進行控制,其中5個中斷源的程序入口地址如表4所示:表4中斷源程序入口中斷源的服務程序入口地址中斷源入口地址外中斷00003H定時/計數(shù)器0000BH外中斷10013H定時/計數(shù)器0001BH串行口中斷0023H ) 中斷的處理流程CPU響應中斷請求后,就立即轉入執(zhí)
24、行中斷服務程序。不同的中斷源、不同的中斷要求可能有不同的中斷處理方法,但它們的處理流程一般都如下所述:()現(xiàn)場保護和現(xiàn)場恢復: 中斷是在執(zhí)行其它任務的過程中轉去執(zhí)行臨時的任務,為了在執(zhí)行完中斷服務程序后,回頭執(zhí)行原先的程序時,知道程序原來在何處打斷的,各有關寄存器的內容如何,就必須在轉入執(zhí)行中斷服務程序前,將這些內容和狀態(tài)進行備份即保護現(xiàn)場。我們舉個例子,在看書時,電話玲響需傳去接電話時,必須在書本上做個記號,以便在接完電話后回來看書時,知道從哪些內容繼續(xù)往下看。計算機的中斷處理方法也如此,中斷開始前需將有關寄存器的內容壓入堆棧進行保存,以便在恢復原來程序時使用。中斷服務
25、程序完成后,繼續(xù)執(zhí)行原先的程序,就需把保存的現(xiàn)場內容從堆棧中彈出,恢復積存器和存儲單元的原有內容,這就是現(xiàn)場恢復。 如果在執(zhí)行中斷服務時不是按上述方法進行現(xiàn)場保護和恢復現(xiàn)場,就會是程序運行紊亂,程序跑飛,自然使單片機不能正常工作。()中斷打開和中斷關閉:在中斷處理進行過程中,可能又有新的中斷請求到來,這里規(guī)定,現(xiàn)場保護和現(xiàn)場恢復的操作是不允許打擾的,否則保護和恢復的過程就可能使數(shù)據(jù)出錯,為此在進行現(xiàn)場保護和現(xiàn)場恢復的過程中,必須關閉總中斷,屏蔽其它所有的中斷,待這個操作完成后再打開總中斷,以便實現(xiàn)中斷嵌套。 ()中斷服務程序: 既然有中斷產生,就必然有其具體的需
26、執(zhí)行的任務,中斷服務程序就是執(zhí)行中斷處理的具體內容,一般以子程序的形式出現(xiàn),所有的中斷都要轉去執(zhí)行中斷服務程序,進行中斷服務。 ()中斷返回: 執(zhí)行完中斷服務程序后,必然要返回,中斷返回就是被程序運行從中斷服務程序轉回到原工作程序上來。在MCS-51單片機中,中斷返回是通過一條專門的指令實現(xiàn)的,自然這條指令是中斷服務程序的最后一條指令。) 交通燈中的中斷處理流程()現(xiàn)場保護和現(xiàn)場恢復:有特殊車輛要通過時就要進行中斷,在中斷之前,先將交通燈中斷前情況保護好,當中斷執(zhí)行后再恢復現(xiàn)場,包括信號燈和時間顯示電路。()中斷打開和中斷關閉:為了使特殊車輛通行按一下打開中斷開關就可以打
27、開中斷,關閉中斷開關就關閉中斷。()中斷服務程序:有中斷產生,就必然有其具體的需執(zhí)行的任務,中斷服務程序就是執(zhí)行中斷處理的具體內容:即如果南北方向有特殊車輛要求通過,南北方向轉換為綠燈,東西方向為紅燈;如果東西方向有特殊車輛要求通過,東西方向轉換為綠燈,南北方向為紅燈。() 中斷返回:執(zhí)行完中斷服務程序后,必然要返回,即回交通燈信號回到中斷前狀態(tài),顯示時間也和中斷前一樣。、交通燈的軟件設計流程圖智能交通燈的軟件設計流程圖如圖7所示:圖7 交通燈的軟件設計流程圖五. 智能交通燈方案的仿真PROTEUS嵌入式系統(tǒng)仿真軟件在設計時已經注意到和單片機各種編譯程序的整合了,如它可以和Keil
28、,Wave6000等編譯模擬軟件結合使用。由于Wave6000使用方便,具備強大的軟件仿真和硬件仿真功能。把Proteus和Wave6000結合起來調試硬件就方便多了,這里筆者就是采用“Proteus+Wave6000”的仿真方法,具體步驟如下:(1)首先運行PROTEUS VSM 的ISIS,選擇SourceDefine Code Generation Tool 菜單項,將出現(xiàn)如圖8所示定義代碼生成工具對話框。圖8 定義代碼生成工具對話框在Tool下拉列表框中選擇代碼生成工具,在這一示例中,電路中的微處理器為8051系列單片機,因此選擇ASEM51, 單擊Browse按鈕,選取Wave600
29、0的安裝路徑。單擊OK按鈕,結束代碼生成工具的定義。選擇SourceAdd/Remove Source File 菜單項,將出現(xiàn)Add/Remove Source Code Files對話框,如圖9所示:圖9 添加/刪除源文件對話框在Code Generation Tool 選項區(qū),單擊下三角按鈕,選擇ASEM51工具。(2) 單擊New按鈕,將出現(xiàn)如圖10所示對話框。圖10 創(chuàng)建源代碼對話框選擇用Wave6000創(chuàng)建好的AA.ASM文件,即完成了文件的創(chuàng)建。就這樣當用Wave6000對AA.ASM 文件進行更改時每一次運行PROTEUS VSM 的ISIS對電路進行仿真時Wave6000都會
30、對AA.ASM進行編譯,AA.HEX文件也會隨時更新。電路圖繪制完成后, 再添加AT89C51 的應用程序。將鼠標移至AT89C51 上, 單擊鼠標右鍵使之處于選中狀態(tài), 在該器件上單擊左鍵, 打開如圖11所示的對話框。在 Program File 欄添加編譯好的十六進制格式的程序文件AA.hex(可以接受3 種格式的文件) ,給AT89C51輸入晶振頻率,此處默認為12MHZ, 單擊OK 按鈕完成程序添加工作, 下面就可以進行系統(tǒng)仿真了。單擊主界面下方的按鈕開始系統(tǒng)仿真。PROTEUS VSM 所進行的是一種交互式仿真, 在仿真進行中可以對各控制按鈕、開關等進行操作, 系統(tǒng)對輸入的響應會被真
31、實的反映出來。仿真結果如圖12。在這個例子里, 開始仿真后,開關,按鈕通過鼠標單擊來改變狀態(tài),所改變狀態(tài)的狀態(tài)會在LED和數(shù)碼管顯示出來。由于篇幅所限, 以上僅舉一例簡單介紹了PROTEUS VSM 的使用, 但其強大的系統(tǒng)仿真功能已經得到體現(xiàn), 用在單片機系統(tǒng)設計的教學方面, 能起到良好的教學效果。圖11 AT89C51添加程序文件圖12 交通燈仿真界面六. 智能交通燈硬件的制作與調試、智能交通燈電路板板圖智能交通燈電路板板圖如圖13所示:圖13 智能交通燈電路板板圖、交通燈主電路的硬件制作繪制完電路圖并用PROTEUS軟件進行仿真后證明了系統(tǒng)運行良好,然后根據(jù)仿真電路圖制作硬件電路。根據(jù)仿
32、真電路圖制作交通燈主電路硬件時要注意的有下面幾點:1、 用PROTEUS仿真的電路圖可以不加復位電路,不用外接晶振,只需要在為單片機添加程序文件時輸入晶振頻率就可以了。但在制作硬件時必須焊接上復位電路和外接晶振電路。2、 用PROTEUS仿真的電路圖單片機的腳可以不用接高電平仿真就能正確運行,但制作硬件時我們必須串接一個電阻然后將端連接到高電平,CPU才能則執(zhí)行內部程序存儲器中的指令。3、 實物LED燈與數(shù)碼管的亮度和仿真電路有些區(qū)別,制作硬件時要通過與之串聯(lián)的電阻來調節(jié)亮度。注意了上述問題后制作的硬件電路運行穩(wěn)定,圖14為通過成功調試后,再實際制造出來控制電路。圖14 交通燈硬件運行情七.結
33、束語:智能控制交通系統(tǒng)實現(xiàn)是目前研究的方向,也已經取得不少成果,但傳統(tǒng)的定時交通燈控制仍然在一些地方廣泛應用,那是車流量不大,而且交通道路相對好的地方,傳統(tǒng)的定時交通燈控制還是起到了一定的作用。但隨著社會的高速發(fā)展,城市化日益完善,車的數(shù)量必然增多,給交通的壓力也增大,這時候,智能交通燈控制將會起到疏導交通,改善城市交通環(huán)境,推動城市化日益完善!基于Proteus智能交通燈控制系統(tǒng)軟件設計上有兩個主要特點,一方面是本設計采用模糊控制方法實現(xiàn)交通的控制,由于模糊控制不需要建立被控對象精確的數(shù)學模型,特別適用于隨機的復雜的城市交通控制,因此以多變少為例子,在通行時間方面控制設置為20s25s40s
34、45s20s 為一個循環(huán),根據(jù)車流量,合理分配了通行時間。另一方面,設計應急轉換開關,考慮緊急車通過時,譬如,急救車或消防車執(zhí)行緊急任務通過時,兩車道的車都應停止,讓緊急車通過。實驗測試結果證明用本系統(tǒng)PIC 單片機能完成交通燈控制過程,有效地疏導交通,提高了交通路口的通行能力. 但功能還不夠完善,比如交通燈紅、黃、綠時間還不能按交通緊松完成手控調整,軟件編寫實現(xiàn)功能還不能很好控制硬件,本系統(tǒng)將增加更多功能,比如手控時間的調節(jié),攝像機交通監(jiān)控的控制,盲人通過時交通燈的控制等,使系統(tǒng)更加完善. 參考文獻:1、陳大欽主編 電子技術基礎實驗 高等教育出版社 2004年2、陳梓城主編 電子技術實訓 機
35、械工業(yè)出版社 2003年3、吳黎明主編 單片機原理及應用技術 科學出版社 2003年4、李學海主編 標準80C51單片機基礎教程 北京航空航天大學出版社 2006年5、劉樂善主編 微型計算機接口技術及應用 華中科技大學出版社 2004年附智能交通燈控制程序:ORG 0000HA_BIT EQU 20H ;用于存放南北十位數(shù)B_BIT EQU 21H ;用于存放南北十位數(shù)C_BIT EQU 22H ;用于存放東西十位數(shù)D_BIT EQU 23H ; 用于存放東西位數(shù)TEMP1 EQU 24H ;用于存放第一二南北狀態(tài)要顯示的時間TEMP2 EQU 25H ;用于存放第一二東西狀態(tài)要顯示的時間TE
36、MP3 EQU 26H ;用于存放第三第四南北狀態(tài)要顯示的時間TEMP4 EQU 27H;用于存放第三第四南北狀態(tài)要顯示的時間LJMP MAINORG 0003H ;外部中斷0入口LJMP INT0 ;跳轉到外部0中斷ORG 0013H ;外部中斷1入口LJMP INT1 ;跳轉到外部1中斷INT0: MOV A,P1 ;外部0中斷 PUSH ACC MOV A,P2 ;中斷保護 PUSH ACCMOV P1,#0FFH ;清除先前狀態(tài)MOV P2,#0FFHCLR P1.0CLR P1.4 ;南北通行,東西禁止通行CLR P1.6CLR P2.3JNB P3.2 ,$ ;判斷是否還在中斷狀態(tài)
37、POP ACCMOV P2,A ;返回中斷前狀態(tài)POP ACCMOV P1,ACCRETI ;中斷返回INT1:MOV A,P1 ;外部1中斷 PUSH ACC ;中斷保護 MOV A,P2 PUSH ACCMOV P1,#0FFH ;清除先前狀態(tài)MOV P2,#0FFHCLR P1.2CLR P2.1CLR P1.3 ;東西通行,南北禁止通行CLR P1.5JNB P3.3 ,$ ;判斷是否還在中斷狀態(tài)POP ACCMOV P2,A ;返回中斷前狀態(tài)POP ACCMOV P1,ARETI ;中斷返回MAIN:ORG 0100H ;初始情況MOV P1,#0FFHMOV P2,#0FFH ;滅
38、所有燈MOV TMOD,#55H ;計數(shù)方式方式1MOV IE,#85H ;開中斷MOV TEMP1,#20 ;MOV TEMP2,#25MOV TEMP3,#25MOV TEMP4,#20STAR:MOV P1,#0FFHMOV P2,#0FFH ;滅所有燈MOV A,24H ;將顯示時間送ACJNE A,#20,T40T ;判斷時間,選初始值T20T: ;南北通行要顯示的時間為20的計數(shù)器初始值CLR TF0 ;清TF0CLR TF1 ;清TF1MOV TH1 ,#0FFH ;送20秒時的初始值MOV TL1 ,#0FCH ;在些設計20秒6輛為多車MOV TH0 ,#0FFHMOV TL
39、0 ,#0FCHLJMP TEMP20 ;跳到20秒T40T: ;南北通行要顯示的時間為40的計數(shù)器初始值CLR TF0 ;清TF0CLR TF1 ;清TF1MOV TH1,#0FFH ;送40秒時的初始值MOV TL1 ,#0F8H ;在些設計40秒8輛為多車MOV TH0 ,#0FFHMOV TL0 ,#0F8HLJMP TEMP40 ;跳到40秒TEMP20: ;TEMP1=20情況SETB TR0 ;開始計數(shù)SETB TR1CLR P1.2CLR P2.1 ;南北通行,東西禁止通行CLR P1.3CLR P1.5MOV TEMP1,#20 ;南北要顯示的時間,MOV TEMP2,#25
40、 ;東西要顯示的時間STLOP:ACALL DISPLAY1 ;調用顯示DEC TEMP1 ;時間夠一秒顯示時間減1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT ;若顯示時間不為0保持現(xiàn)在狀態(tài)LJMP STAR2 ;若顯示時間為 0跳到第二狀態(tài)NEXT: LJMP STLOPSTAR2: ;狀態(tài)1SETB P1.2CLR P1.1 ;南北黃燈,東西禁止通行SETB P1.3CLR P1.4MOV TEMP1,#05 ;南北要顯示的時間,MOV TEMP2,#05 ;東西要顯示的時間,STLOP2:ACALL DISPLAY1 ;調用顯示DEC TEMP1 ;時間夠一秒顯
41、示時間減1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT2 ;若顯示時間不為0保持現(xiàn)在狀態(tài)JB TF1 ,T40 ;判斷南北是否多車JB TF0 ,T40 ;判斷北南是否多車MOV TEMP1,#20 ;少車下次顯示時間為20秒LJMP STAR3 ;跳到狀態(tài)3T40:MOV TEMP1,#40 ; 多車下次顯示時間為40秒LJMP STAR3 ;若顯示時間為 0跳到第三狀態(tài)NEXT2:LJMP STLOP2TEMP40:;TEM=40 程序SETB TR0 ; 開始計數(shù)SETB TR1CLR P1.2CLR P2.1 ;南北通行,東西禁止通行CLR P1.3CLR P1
42、.5MOV TEMP1,#40 ;南北要顯示的時間,MOV TEMP2,#45 ;東西要顯示的時間STLOP11:ACALL DISPLAY1 ;調用顯示DEC TEMP1 ;時間夠一秒顯示時間減1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT11 ;若顯示時間不為0保持現(xiàn)在狀態(tài)LJMP STAR22 ;若顯示時間為 0跳到第二狀態(tài)NEXT11: LJMP STLOP11STAR22: ;狀態(tài)1SETB P1.2CLR P1.1 ;南北黃燈,東西禁止通行SETB P1.3CLR P1.4MOV TEMP1,#05 ;南北要顯示的時間,MOV TEMP2,#05 ;東西要顯
43、示的時間,STLOP22:ACALL DISPLAY1 ;調用顯示DEC TEMP1 ;時間夠一秒顯示時間減1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT22 ;若顯示時間不為0保持現(xiàn)在狀態(tài)JB TF1 ,T401 ; 判斷是否多車JB TF0 ,T401MOV TEMP1,#20 ;少車下次顯示時間為20秒LJMP STAR3T401:MOV TEMP1,#40 ;多車下次顯示時間為40秒LJMP STAR3 ;若顯示時間為 0跳到第三狀態(tài)NEXT22:LJMP STLOP22STAR3:MOV A,26HCJNE A,#25,T40T1 ;判斷時間,選初始值T20T
44、1: ;南北通行要顯示的時間為20的計數(shù)器初始值CLR TF0 ; 清溢出位CLR TF1MOV TH1 ,#0FFH ; 給初值MOV TL1 ,#0FCHMOV TH0 ,#0FFHMOV TL0 ,#0FCHLJMP TEMP320T40T1: ;南北通行要顯示的時間為40的計數(shù)器初始值CLR TF0 ;CLR TF1MOV TH1,#0FFH ;給初值MOV TL1 ,#0F8HMOV TH0 ,#0FFHMOV TL0 ,#0F8HLJMP TEMP340TEMP320:;狀態(tài)三SETB TR1 ;南北停止計數(shù)SETB TR0 ;東西開始計數(shù)SETB P1.1 ;東西通行,南北禁止通
45、行CLR P1.0SETB P1.1CLR P1.0SETB P1.5CLR P1.6SETB P2.1CLR P2.3MOV TEMP3,#25 ;南北要顯示的時間,MOV TEMP4,#20 ;東西要顯示的時間,STLOP33:ACALL DISPLAY ;調用顯示DEC TEMP3 ;時間夠一秒顯示時間減1DEC TEMP4MOV A,TEMP4CJNE A,#0,NEXT33 ;若顯示時間不為0保持現(xiàn)在狀態(tài)LJMP STAR34 ;若顯示時間為 0跳到第四狀態(tài)NEXT33:LJMP STLOP33STAR34: ;狀態(tài)四SETB P2.3CLR P2.2SETB P1.6 ;東西黃燈,
46、南北禁止通行CLR P1.5MOV TEMP3,#05 ;南北要顯示的時間,MOV TEMP4,#05 ;東西要顯示的時間,STLOP34:ACALL DISPLAY ;調用顯示DEC TEMP3 ;時間夠一秒顯示時間減1DEC TEMP4MOV A,TEMP4CJNE A,#0,NEXT34 ;若顯示時間不為0保持現(xiàn)在狀態(tài)JB TF1 ,T402JB TF0 ,T402MOV TEMP3,#25LJMP START402:MOV TEMP3,#45LJMP STARNEXT34: LJMP STLOP34TEMP340 :SETB TR1 ;南北停止計數(shù)SETB TR0 ;東西開始計數(shù)SET
47、B P1.1 ;東西通行,南北禁止通行CLR P1.0SETB P1.1CLR P1.0SETB P1.5CLR P1.6SETB P2.1CLR P2.3MOV TEMP3,#45 ;南北要顯示的時間,MOV TEMP4,#40 ;東西要顯示的時間,STLOP43:ACALL DISPLAY ;調用顯示DEC TEMP3 ;時間夠一秒顯示時間減1DEC TEMP4MOV A,TEMP4CJNE A,#0,NEXT43 ;若顯示時間不為0保持現(xiàn)在狀態(tài)LJMP STAR44 ;若顯示時間為 0跳到第四狀態(tài)NEXT43:LJMP STLOP43STAR44: ;狀態(tài)四SETB P2.3CLR P2.2SETB P1.6 ;東西黃燈,南北禁止通行CLR P1.5MOV TEMP3,#05 ;南北要顯示的時間,MOV TEMP4,#05 ;東西要顯示的時間,STLOP44:ACALL DISPLAY ;調用顯示DEC TEMP3 ;時間夠一秒顯示時間減1DEC TEMP4MOV A,TEMP3CJNE A,#0,NEXT44 ;若顯示時間不為0保持現(xiàn)在狀態(tài)JB TF1 ,T403JB TF0 ,T403MOV TEMP3,#25LJMP START403:MOV TE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度銷售合同標的及服務內容詳細描述2篇
- 2025屆高考物理二輪復習講義:專題一 力與運動 第2講 力與直線運動 【含答案】
- 2024物業(yè)保險代理與保險公司合作協(xié)議
- 2025年度地下空間開發(fā)與利用合同3篇
- 2025年度倉儲信息化平臺建設合同3篇
- 2025年度智能電網建設施工勞務合同2篇
- 2024版法人股份轉讓協(xié)議
- 二零二五年度新能源汽車包銷合作協(xié)議3篇
- 專項拓展培訓項目協(xié)議2024版
- 2024航空公司飛機維修服務承包合同
- 2023高考英語新高考1卷完形填空全考點解析附譯文全
- 《上帝擲骰子嗎:量子物理史話》導讀學習通超星課后章節(jié)答案期末考試題庫2023年
- GB/T 42616-2023電梯物聯(lián)網監(jiān)測終端技術規(guī)范
- CTR-2023年中國搜索引擎行業(yè)研究報告
- 枕上詩書:一本書讀懂最美古詩詞
- 光儲電站儲能系統(tǒng)調試方案
- 煙花爆竹工程設計安全規(guī)范
- 河南省醫(yī)院信息大全
- 酒店賠償價目表
- YS/T 752-2011復合氧化鋯粉體
- 集團總裁崗位說明書
評論
0/150
提交評論