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