王明哲
從交通燈的控制方式上看來,傳統(tǒng)所采用的是對各個路口分別進(jìn)行獨立控制,以及定周期進(jìn)行控制 的方式,在對問題的解決上效果不佳,而且從實際的效果來看,要想解決交通堵塞的現(xiàn)象,單純的對道路基礎(chǔ)設(shè)施進(jìn)行擴大也不是十分有效的途徑。因此,在當(dāng)前的道路條件下,促進(jìn)交通管理水平以及控制水平的提升,對現(xiàn)有的交通設(shè)施進(jìn)行合理利用,使其具有的能力得以充分發(fā)揮,才可以使得道路的利用率更為有效靈活的提升。而通過AT89C51單片機在交通燈控制器中的應(yīng)用,使其操作起來十分的方便、簡單,具有較強的擴展性,且實用性比較系統(tǒng),本文基于89C51單片機首先對現(xiàn)代交通燈的硬件系統(tǒng)設(shè)計進(jìn)行了介紹,之后從軟件方面進(jìn)行了闡述。
【關(guān)鍵詞】89C51單片機 交通燈硬件設(shè)計 軟件設(shè)計
交通信號燈的應(yīng)用,能夠?qū)煌ㄟM(jìn)行有效的管制,同時也有助于對交通的流量進(jìn)行疏導(dǎo),促進(jìn)道路通行能力的提升,使交通事故發(fā)生數(shù)量減少都具有非常顯著的效果。從交通燈的控制方式上看來,傳統(tǒng)所采用的是對各個路口分別進(jìn)行獨立控制,以及定周期進(jìn)行控制 的方式,在對問題的解決上效果不佳,而且從實際的效果來看,要想解決交通堵塞的現(xiàn)象,單純的對道路基礎(chǔ)設(shè)施進(jìn)行擴大也不是十分有效的途徑。因此,在當(dāng)前的道路條件下,促進(jìn)交通管理水平以及控制水平的提升,對現(xiàn)有的交通設(shè)施進(jìn)行合理利用,使其具有的能力得以充分發(fā)揮,才可以使得道路的利用率更為有效靈活的提升。而通過AT89C51單片機在交通燈控制器中的應(yīng)用,使其操作起來十分的方便、簡單,具有較強的擴展性,且實用性比較系統(tǒng),因此,本文基于89C51單片機對現(xiàn)代交通燈的設(shè)計進(jìn)行討論和概述,以期可以更為靈活、有效的對交通等進(jìn)行控制。
1 交通燈的功能設(shè)計
結(jié)合顯示狀況,交通燈能夠分成四種狀態(tài),首先,對每種狀態(tài)的時間進(jìn)行定時控制;其次,通過每間隔1S就在LED數(shù)碼管里輸入一個數(shù),定時的使得剩余時間顯示出來;再次,假如發(fā)生中斷,就會相應(yīng)的進(jìn)到處理程序當(dāng)中,對當(dāng)前的顯示狀態(tài)進(jìn)行保留后,再結(jié)合實際情況對處理中的狀態(tài)進(jìn)行顯示,當(dāng)緊急狀況結(jié)束后就返回到之前保留的狀態(tài)當(dāng)中。從系統(tǒng)設(shè)計上來看,主要包括狀態(tài)顯示系統(tǒng)、緊急狀況終端系統(tǒng)、LED數(shù)碼顯示系統(tǒng)以及復(fù)位電路等,除了交通等具有的基本作用外,還有緊急狀況進(jìn)行處理和倒計時的作用,能偶對十字路口可能出現(xiàn)的狀況進(jìn)行模擬實現(xiàn)。
2 交通信號燈硬件系統(tǒng)設(shè)計
2.1 控制流程分析
根據(jù)圖1的交流流向循環(huán)圖能偶看出,
(1)從交通燈的控制上來看,南北方向與東西方向是關(guān)于中心對稱的,就是指不管是主干道,亦或是支干道,其兩旁的系統(tǒng)對于方向相同的信號燈是進(jìn)行同步控制的。
(2)根據(jù)圖1能夠了解到:不管是人行道的東西,還是南北方向,系統(tǒng)對兩旁的四個信號燈也是進(jìn)行同步控制的,同時人行道的紅綠燈變化應(yīng)該與行車道的紅綠燈的變相同。
(3)根據(jù)上述的思路能夠看出,通過對單片機P2口和P0 口、顯示譯碼芯片以及鎖存芯片之間的配合來達(dá)到對LED 燈和數(shù)碼管進(jìn)行控制的目的。利用鎖存芯片能夠單片機口的分時復(fù)用得以實現(xiàn),且操作簡單、方便,有助于對數(shù)據(jù)快速及時的進(jìn)行交換,同時充分的利用單片機資源。
2.2 基于89C51單片機的現(xiàn)代交通燈系統(tǒng)的硬件設(shè)計
2.2.1 交通燈的電路設(shè)計
通過選取二極管對交通信號燈的紅綠進(jìn)行模擬,所采用LED模擬燈組采用模擬交通紅綠燈的顯示,同時從閃爍的方式以及亮滅的方式上也和路口的紅綠信號燈保持同步。從數(shù)碼管的選用上,要選取共陽極數(shù)碼管,因為其是通過動態(tài)的方式進(jìn)行顯示的,并通過倒計時來對其進(jìn)行。僅從單片機Pl端口來看,其管控六個發(fā)光二極管,對路口的紅黃綠等信號燈來模擬路口的紅黃綠燈;P0 端口以及P1.6、P1.7 端口,顯示出控制的數(shù)碼管。根據(jù)表1,從正常的工作狀態(tài)來看,交通燈系統(tǒng)中共包括四個報警器和檢測器,分別為南北和東西四個方向,對通道中當(dāng)紅燈亮?xí)r是否有依然存在車輛違規(guī)的問題進(jìn)行監(jiān)。當(dāng)紅燈開始進(jìn)行倒計時,則選用的是P2.4~P2.7 獨立按鍵將模擬違規(guī)信號向單片機進(jìn)行傳送,而發(fā)光二極管與單片機控制蜂鳴器則會進(jìn)行聲光報警,除非報警鍵被消鍵,否組就不會停止。
2.2.2 當(dāng)出現(xiàn)緊急通行和遇忙狀況時的處理設(shè)計
在出現(xiàn)緊急通行或者遇忙的狀況時,可以將INT0的外部進(jìn)行中斷用,而對這些情況進(jìn)行控制。通過74HC21 雙 四輸入和門的采用,將集成多路至INT0端口的申請信號進(jìn)行中斷,利用將INT0的服務(wù)進(jìn)行外部中斷的方式,對紅綠信號燈進(jìn)行控制,進(jìn)而達(dá)到相應(yīng)車道能夠暢通,同時另一排車道被禁行的目的,確保所有的數(shù)碼管都一起熄滅,開啟聲音提醒模塊。為促進(jìn)交通燈指示靈活性的提升,交通流通效率的提高,可以結(jié)合交警的實際經(jīng)驗和車流量的狀況來對交通燈燃亮的時間進(jìn)行設(shè)置。為使處理比較簡單。根據(jù)南北、東西路段遇忙的狀況,對交通燈進(jìn)行設(shè)計。如果南北信號燈出現(xiàn)忙碌的狀況,系統(tǒng)就可以通過INT0外部中斷與系統(tǒng)進(jìn)行響應(yīng)。根據(jù)南北和東西車道的實際狀況,將其分別設(shè)置30s和50s的燃亮?xí)r間,進(jìn)而進(jìn)入到下一個循環(huán)。
3 基于89C51單片機現(xiàn)代交通燈軟件程序設(shè)計
在對系統(tǒng)的程序進(jìn)行設(shè)計通常包括三個部分的使用,分別是定時器的使用、對I/O端口進(jìn)行控制、以及對外部中斷的應(yīng)用。從I/O 端口來看,主要是用來控制交通信號燈和數(shù)碼管的顯示;從定時器來看,主要是對倒計時進(jìn)行控制;從外部中斷來看,主要是在緊急通行或是遇忙狀況時進(jìn)行處理響應(yīng)。從程序模塊來看,能夠分成五個部分的相應(yīng)處理,分別為主程序、對倒計時進(jìn)行的應(yīng)用,以及數(shù)碼管的顯示、信號燈狀態(tài)出現(xiàn)的改變和中斷的響應(yīng)處理等等。
在通常狀況下,基于89C51的交通燈當(dāng)在處在中斷的狀況下,交通燈按照A綠燈、B紅燈延時55S——A綠燈閃爍3次——A黃燈、B紅燈延時2S——A紅燈、B綠燈延時55S——B綠燈閃爍3次——A紅燈、B黃燈延時2S的流程進(jìn)行循環(huán);當(dāng)服務(wù)程序流程出現(xiàn)中斷時,則按照緊急情況和特殊情況的不同,采取不同的流程。當(dāng)處于緊急狀況時,根據(jù)中斷響應(yīng)——保護(hù)現(xiàn)場——A紅燈、B紅燈延時10S——恢復(fù)現(xiàn)場的流程執(zhí)行;當(dāng)處于特殊狀況時,則按照中斷響應(yīng)——關(guān)閉中斷——保護(hù)現(xiàn)場——開啟中斷——A綠燈、B紅燈延時55S——關(guān)閉中斷——恢復(fù)現(xiàn)場——開啟中斷的流程執(zhí)行。在特殊狀況下,通過將外部進(jìn)行中斷的1方式進(jìn)到和其適應(yīng)的中斷服務(wù)程序,對中斷設(shè)置成低優(yōu)先級; 而當(dāng)出現(xiàn)有緊急車輛要通行時,則利用對外部進(jìn)行中斷的0方式進(jìn)到和其有關(guān)的中斷服務(wù)程序,并將其中斷設(shè)置成高優(yōu) 先級中斷,從而完成中斷嵌套的目的。如果是在特殊狀況下所出現(xiàn)的中斷服務(wù)程序,第一要對現(xiàn)場進(jìn)行保護(hù)。根據(jù)需要要對P2口和函數(shù)進(jìn)行延時,要通過P2和全局延時對需要保護(hù)的變化進(jìn)行控制。當(dāng)對現(xiàn)場進(jìn)行保護(hù)時,要關(guān)閉中斷,避免由于高優(yōu)先級,例如緊急車輛要求通過而發(fā)生申請中斷而造成程序出現(xiàn)混亂。之后再將中斷開啟,相應(yīng)的執(zhí)行服務(wù),A道試行5S放行后再將中斷關(guān)閉,對現(xiàn)場進(jìn)行恢復(fù)。在中斷函數(shù)回復(fù)到之前后再將中斷開啟,返回到主程序。如果發(fā)生緊急車輛要通行時,要對服務(wù)程序中斷時也要對現(xiàn)場進(jìn)行保護(hù),然而由于處在高優(yōu)級中斷,則不用將中斷關(guān)閉。 之后再相應(yīng)的執(zhí)行服務(wù),雙方向的紅燈都呈10S顯示,保證緊急車輛可以順利的在交叉路口通行。最后,對現(xiàn)場進(jìn)行恢復(fù)后回到主程序。
4 結(jié)語
通過將89C51單片機當(dāng)成控制的核心進(jìn)行設(shè)計,進(jìn)而使得現(xiàn)代交通燈控制系統(tǒng)實現(xiàn)運行平穩(wěn),在對其進(jìn)行設(shè)計時要做到考慮充分,該設(shè)計中的按鍵控制臺是系統(tǒng)中的最大優(yōu)勢,能夠在室內(nèi)完成交警對交通狀況進(jìn)行實時監(jiān)視的目的。其控制方式具有靈活性,物理結(jié)構(gòu)的優(yōu)化、功能的豐富等都是本系統(tǒng)的優(yōu)點。但是還應(yīng)該看到,基于89C51單片機的現(xiàn)代交通燈其在控制系統(tǒng)上仍存在一些不足之處,比如在對外界電噪聲所造成的干擾問題上仍需要深入進(jìn)行探討??傊?,在城市交通等進(jìn)行設(shè)計時,應(yīng)該利用單片機控制系統(tǒng)達(dá)成對典型時間順序進(jìn)行控制,這不僅巧妙且十分的簡單。且因為自動化控制技術(shù)不斷的提升,單片機技術(shù)的性價比和開發(fā)手段定會在市場中具有更為廣闊的前景。
參考文獻(xiàn)
[1]藺玉珂.基于 AT89C51 單片機的交通燈改進(jìn)控制[J].數(shù)字技術(shù)與應(yīng)用,2012(02).
作者單位
曲阜師范大學(xué)工學(xué)院 山東省日照市 276826