何玲,吳恒玉,唐民麗
(海南軟件職業(yè)技術(shù)學(xué)院 電子工程系,海南 瓊海 571400)
隨著社會(huì)經(jīng)濟(jì)快速發(fā)展,汽車(chē)數(shù)量的急劇增加,給城市交通帶來(lái)了極大的壓力。特別是在上下班高峰期,巨大的車(chē)流量使得道路擁擠,造成了不必要的時(shí)間浪費(fèi)與經(jīng)濟(jì)損失。所以設(shè)計(jì)可靠、安全、便捷的智能交通燈控制系統(tǒng)有極大的現(xiàn)實(shí)必要性。正在使用的交通控制系統(tǒng)主要有兩個(gè)缺陷:1)車(chē)道放行車(chē)輛時(shí),時(shí)間設(shè)定相同且固定,十字路口經(jīng)常出現(xiàn)主車(chē)道車(chē)輛多,放行時(shí)間短,車(chē)流無(wú)法在規(guī)定時(shí)間內(nèi)通過(guò),而副車(chē)道車(chē)輛少,放行時(shí)間明顯過(guò)長(zhǎng);2)未考慮急車(chē)強(qiáng)通。由于交通信號(hào)燈控制系統(tǒng)缺乏有效的應(yīng)急措施,導(dǎo)致十字路口交通受阻,造成不必要的經(jīng)濟(jì)損失。
本系統(tǒng)利用AT89C51單片機(jī)[1],實(shí)現(xiàn)了根據(jù)區(qū)域車(chē)流量、紅外檢測(cè)或人為操作進(jìn)行十字路口交通信號(hào)燈智能控制[2],并在軟硬件方面采取一些改進(jìn)措施,實(shí)現(xiàn)了根據(jù)十字路口車(chē)流檢測(cè)量進(jìn)行交通信號(hào)燈智能控制,并且可以使用緊急按鍵使兩路口都為紅燈,讓緊急車(chē)輛通過(guò)后再恢復(fù)正常通車(chē)。該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低、實(shí)時(shí)性好、安裝維護(hù)方便,并且具有良好的擴(kuò)展完善特點(diǎn),有廣泛的應(yīng)用前景。
文中是采用了以AT89C51單片機(jī)為核心的控制方案。方案中通過(guò)車(chē)流量檢測(cè)電路檢測(cè)東西方向和南北方向的車(chē)流量大小,東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠3色的指示燈,指揮車(chē)輛安全通行。實(shí)現(xiàn)本設(shè)計(jì)要求的具體功能,可以選用AT89C51單片機(jī)及外圍器件構(gòu)成最小控制系統(tǒng),20個(gè)發(fā)光二極管分為2組:東西南北兩個(gè)路口車(chē)行道的紅、綠、黃以及人行道的紅、綠燈構(gòu)成信號(hào)燈指示模塊,4個(gè)LED東西南北各兩個(gè)構(gòu)成倒計(jì)時(shí)顯示模塊,車(chē)流量檢測(cè)傳感器采集流量數(shù)據(jù),光敏傳感器捕獲違規(guī)信號(hào),若干按鍵組成時(shí)間設(shè)置和模式選擇按鈕和緊急按鈕等,以及用1個(gè)蜂鳴器進(jìn)行報(bào)警。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)的總體框圖Fig.1 System block diagram
本系統(tǒng)以單片機(jī)為核心,組成一個(gè)集車(chē)流量采集、處理、自動(dòng)控制為一身的閉環(huán)控制系統(tǒng)。系統(tǒng)硬件電路由車(chē)流量檢測(cè)電路、單片機(jī)、違規(guī)檢測(cè)電路,交通信號(hào)燈,LED顯示,按鍵,蜂鳴器組成。
在每車(chē)道車(chē)輛等待線的前方和后方都安裝一個(gè)地質(zhì)線圈,當(dāng)車(chē)輛通過(guò)該線圈或者停在該線圈上時(shí),車(chē)輛本身上的鐵質(zhì)將會(huì)改變線圈內(nèi)的磁通量,引起線圈回路電感量的變化,根據(jù)監(jiān)測(cè)到的電感量引起的電流變化,通過(guò)檢測(cè)放大電路的處理,最終實(shí)時(shí)顯示有無(wú)車(chē)輛通過(guò),并可以累計(jì)某段時(shí)間內(nèi)車(chē)流量的大小[3]。
在紅燈和黃燈期間,車(chē)輛是禁行的,為了對(duì)那些違反規(guī)則的車(chē)輛進(jìn)行檢測(cè),可使用超聲波車(chē)輛傳感器。但是,用于受到條件的限制,本系統(tǒng)設(shè)計(jì)中只是使用了普通光敏二極管。
其基本設(shè)計(jì)思想是:將光敏二極管放在停車(chē)線上,當(dāng)車(chē)輛行駛過(guò)將光敏二極管遮住,這樣,光敏二極管就不導(dǎo)通,單片機(jī)檢測(cè)到這一信號(hào)執(zhí)行警報(bào)操作。違規(guī)檢測(cè)電路如圖2所示。
圖2 違規(guī)檢測(cè)電路Fig.2 Traffic violation detection circuit
但是除了使用光敏二極管,還需使用三極管,三極管的型號(hào)是9031。由于普通光敏二極管的開(kāi)關(guān)特性不太好,所以設(shè)計(jì)在電路中加入了三極管作為開(kāi)關(guān)。由于普通光敏二極管在導(dǎo)通的情況下的電阻都能達(dá)到0.5~1 kΩ,所以在設(shè)計(jì)中將光敏二極管直接連到了電源上。同時(shí)三極管還可以起到一定的隔直作用。當(dāng)光敏二極管關(guān)閉時(shí),三極管的基極為低電平,基極與發(fā)射基之間的電壓為零,三極管關(guān)斷,檢測(cè)口的電壓為高電平。同理,當(dāng)光敏二極管導(dǎo)通時(shí),三極管的基極電壓為高,基極與發(fā)射極之間的電平為高,三極管導(dǎo)通,檢測(cè)口的電壓為低電平。基于此就可以檢測(cè)是否有違規(guī)車(chē)輛了。
電源采用輸出為+5 V直流電壓的穩(wěn)壓電源電路[4]。IC采用集成穩(wěn)壓器7805三端穩(wěn)壓器。當(dāng)輸出電流較大時(shí),7805應(yīng)配上散熱板。C3為輸入端濾波電容,C5為輸出端濾波電容,如圖3所示。本系統(tǒng)采用220 V交流電電源,經(jīng)過(guò)5 V適配器濾波后,在固定式三端穩(wěn)壓器LM7805的Vin和GND兩端形成一個(gè)并不十分穩(wěn)定的直流電壓(該電壓常常會(huì)因?yàn)槭须婋妷旱牟▌?dòng)或負(fù)載的變化等原因而發(fā)生變化)。此直流電壓經(jīng)過(guò)LM7805的穩(wěn)壓和電容的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。
圖3 電源電路Fig.3 Power supply circuit
交通燈最基本的功能是信號(hào)燈的顯示,每個(gè)路口均需紅、黃、綠燈各一盞。20個(gè)發(fā)光二極管分為2組:東西南北兩個(gè)路口車(chē)行道的紅、綠、黃以及人行道的紅、綠燈構(gòu)成信號(hào)燈指示模塊.本系統(tǒng)選用P0口作為輸出LED數(shù)碼管的段選信號(hào);P1口作為東西、南北方向的車(chē)行道信號(hào)燈的控制信號(hào);P2口作為人行道信號(hào)燈的控制信號(hào)以及數(shù)碼管的位選信號(hào),紅綠燈與單片連接如圖4所示。
圖4 紅綠燈與單片機(jī)接線圖Fig.4 Connection of red/green light to MCU
倒計(jì)時(shí)顯示系統(tǒng)的主要功能是對(duì)紅、黃、綠燈的延時(shí)時(shí)間進(jìn)行倒計(jì)時(shí),給車(chē)輛駕駛員以提示。這里使用共陰極的7段數(shù)碼管作為顯示設(shè)備,各個(gè)路口上兩個(gè)數(shù)碼管,一個(gè)顯示十位,一個(gè)顯示個(gè)位采用動(dòng)態(tài)掃描方式[5]。文中時(shí)間的倒計(jì)時(shí)是通過(guò)軟件來(lái)實(shí)行的,將在軟件部分進(jìn)行具體的說(shuō)明。
本設(shè)計(jì)采用一般蜂鳴器,蜂鳴器使用PNP三極管進(jìn)行驅(qū)動(dòng)控制,當(dāng)連接到單片機(jī)上的引腳輸出為低電平,PNP導(dǎo)通,蜂鳴器蜂鳴;當(dāng)連接到單片機(jī)上的引腳輸出高電平時(shí),PNP截止,蜂鳴器停止蜂鳴,其連線圖如圖5所示。緊停按鍵和違規(guī)信號(hào)傳感器連接到外部中斷引腳INT1,P3.6捕獲到一個(gè)低電平,則進(jìn)入該中斷,中斷程序中先把蜂鳴器P3.7端口置0,啟動(dòng)蜂鳴。并且等待恢復(fù)鍵S3鍵按下,然后關(guān)閉蜂鳴返回。
圖5 蜂鳴器連接圖Fig.5 Buzzer connection
本設(shè)計(jì)設(shè)置了3個(gè)鍵:S1鍵,S2鍵,S3鍵。S1鍵設(shè)置系統(tǒng)的輸入模式,分紅綠燈時(shí)間自動(dòng)和紅綠燈時(shí)間設(shè)置,S2鍵是緊停按鍵和違規(guī)信號(hào),S3鍵是復(fù)位鍵。每個(gè)按鍵一端接地,另一端接上拉電阻。低電平有效,當(dāng)按鍵按下端口接地,單片機(jī)捕獲到低電平,從而知道相應(yīng)的輸入信息,如圖6所示。
全部控制程序?qū)嶋H上分為若干模塊:鍵盤(pán)設(shè)置處理程序,紅綠燈控制程序,LED顯示程序,消抖動(dòng)延時(shí)程序,次狀態(tài)判斷及處理程序,緊停或違規(guī)判斷程序,中斷服務(wù)子程序,車(chē)流量計(jì)數(shù)程序,紅綠燈時(shí)間調(diào)整程序等。
圖6 按鍵示意圖Fig.6 Diagram of buttons
單片機(jī)的1秒鐘延時(shí)可以有兩種方法[6],一種是利用AT89C51單片機(jī)內(nèi)部定時(shí)器溢出中斷來(lái)確定1 s的時(shí)間;另一種是采用軟件延時(shí)來(lái)確定1 s的時(shí)間。
數(shù)碼管倒計(jì)時(shí)顯示程序如下:
本設(shè)計(jì)用到兩個(gè)中斷服務(wù)例程:INT0、T0。其中INT0實(shí)現(xiàn)緊急車(chē)通行時(shí),東西南北各個(gè)路口都亮紅燈;T0在執(zhí)行倒計(jì)時(shí)子程序的同時(shí),實(shí)現(xiàn)數(shù)碼管精確倒計(jì)時(shí)。
1)緊急車(chē)中斷服務(wù)例程的設(shè)計(jì)。緊急車(chē)中斷服務(wù)例程流程圖如圖7所示。
2)定時(shí)器T0中斷服務(wù)例程的設(shè)計(jì)
本系統(tǒng)計(jì)數(shù)器/定時(shí)器0采用工作方式1,計(jì)數(shù)初值后,將初值轉(zhuǎn)換成16進(jìn)制數(shù),高8位裝入TH0中,低8位裝入TL0中。定時(shí)器T0中斷服務(wù)例程流程圖如圖8所示。
圖7 緊急車(chē)中斷服務(wù)流程圖Fig.7 Emergency car interrupt program
圖8 定時(shí)器T0中斷服務(wù)流程圖Fig.8 Timer T0 interrupt program
本系統(tǒng)采用了單片機(jī)作為核心控制器,提高了系統(tǒng)的可靠性和穩(wěn)定性,并且系統(tǒng)的調(diào)試和維護(hù)方便。另外,本系統(tǒng)由于采用了車(chē)流量檢測(cè)系統(tǒng),紅綠燈的顯示時(shí)間是動(dòng)態(tài)的,使十字路口更加暢通,避免了現(xiàn)有的交通燈系統(tǒng)的紅綠燈顯示時(shí)間固定所帶來(lái)的不便;還引用了外部中斷技術(shù),使緊急車(chē)輛得以計(jì)時(shí)順利通過(guò)。而且,本系統(tǒng)中的交通燈可用型號(hào)較大的指示燈,傳感器在實(shí)際中也很容易實(shí)現(xiàn)。本系統(tǒng)今后還要進(jìn)一步完善,增加更強(qiáng)的功能。
[1]孫育才.MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用[M].南京:東南大學(xué)出版社,2004:78-91.
[2]林軍.用單片機(jī)控制的交通信號(hào)燈 [J].電腦學(xué)習(xí),2001,8(4):25-28.LIN Jun.Traffic signal lights controlled by MCU[J].Computer Study,2001,8(4):25-28.
[3]李寧.一種感應(yīng)線圈車(chē)輛檢測(cè)器的抗干擾方法[J].現(xiàn)代電子技術(shù),2001(12):74-75.LI Ning.An induction loop vehicle detector interference method[J].Modern ElectronicsTechnique,2001(12):74-75.
[4]樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo)[M].北京:北京航天航空大學(xué)出版社,2007:115-130.
[5]余錫存,曹?chē)?guó)華.單片機(jī)原理及接口技術(shù)[M].西安:西安電子科技大學(xué)出版社,2000:74-88.
[6]丁向榮,賈平.單片機(jī)應(yīng)用系統(tǒng)與開(kāi)發(fā)技術(shù)[M].北京:清華大學(xué)出版社,2009,117-142.