《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STC單片機(jī)的機(jī)場車輛超速報(bào)警系統(tǒng)
基于STC單片機(jī)的機(jī)場車輛超速報(bào)警系統(tǒng)
來源:微型機(jī)與應(yīng)用2010年第22期
張積洪,馬 創(chuàng)
(中國民航大學(xué) 航空自動(dòng)化學(xué)院, 天津 300300)
摘要: 采用STC89C52單片機(jī)結(jié)合LM2596-5.0開關(guān)電壓調(diào)節(jié)器、DS12C887時(shí)鐘芯片、AT24C64串行存儲(chǔ)器、74HC595移位寄存器以及接觸式IC卡等器件,實(shí)現(xiàn)了對(duì)機(jī)場車輛速度的實(shí)時(shí)顯示以及超速后的自行報(bào)警,并將超速情況以數(shù)據(jù)的形式存儲(chǔ)到存儲(chǔ)器中,可用IC卡對(duì)數(shù)據(jù)進(jìn)行讀取。該系統(tǒng)通過超速報(bào)警來提醒司機(jī)減速,從而減少車輛刮碰飛機(jī)等事件的發(fā)生。
Abstract:
Key words :

摘  要: 采用STC89C52單片機(jī)結(jié)合LM2596-5.0開關(guān)電壓調(diào)節(jié)器、DS12C887時(shí)鐘芯片、AT24C64串行存儲(chǔ)器、74HC595移位寄存器以及接觸式IC卡等器件,實(shí)現(xiàn)了對(duì)機(jī)場車輛速度的實(shí)時(shí)顯示以及超速后的自行報(bào)警,并將超速情況以數(shù)據(jù)的形式存儲(chǔ)到存儲(chǔ)器中,可用IC卡對(duì)數(shù)據(jù)進(jìn)行讀取。該系統(tǒng)通過超速報(bào)警來提醒司機(jī)減速,從而減少車輛刮碰飛機(jī)等事件的發(fā)生。
關(guān)鍵詞: STC單片機(jī);I2C總線;接觸式IC卡

    隨著民航業(yè)的發(fā)展,航空器的數(shù)量不斷增多,地面保障車輛隨之增加,加之機(jī)場車輛行駛速度過快,導(dǎo)致刮碰飛機(jī)的不安全事件時(shí)有發(fā)生,直接影響了飛機(jī)的持續(xù)適航,嚴(yán)重危及航空公司的運(yùn)行安全,同時(shí)也造成了一定的經(jīng)濟(jì)損失。為了減少此類不安全事件的發(fā)生,本設(shè)計(jì)利用單片機(jī)實(shí)現(xiàn)車輛的超速報(bào)警來提醒司機(jī)減速行駛,并將超速情況實(shí)時(shí)記錄下來作為評(píng)價(jià)車輛駕駛員的依據(jù)之一,以便于對(duì)員工進(jìn)行管理。
1 系統(tǒng)的硬件設(shè)計(jì)
1.1 系統(tǒng)功能

    系統(tǒng)實(shí)現(xiàn)的主要功能如下:
    (1)按鍵調(diào)整時(shí)間以及實(shí)時(shí)顯示時(shí)間;
    (2)實(shí)時(shí)顯示車輛行駛的速度;
    (3)當(dāng)車輛超過規(guī)定的速度值時(shí),違規(guī)情況以數(shù)據(jù)形式保存在串行存儲(chǔ)器中,并發(fā)出聲音警報(bào),同時(shí)警報(bào)燈閃爍;
    (4)管理人員使用IC卡讀取車輛的違規(guī)情況并取消報(bào)警。
1.2 系統(tǒng)硬件的總體設(shè)計(jì)
    系統(tǒng)的總體結(jié)構(gòu)如圖1所示。它采用STC89C52單片機(jī)為主控芯片,主要有電源模塊、信號(hào)采集模塊、時(shí)鐘模塊、LED顯示模塊、按鍵模塊、報(bào)警模塊、AT24C64串行存儲(chǔ)器模塊和接觸式IC卡存儲(chǔ)模塊。其中STC89C52主要完成對(duì)外圍硬件的控制以及信息處理功能;電源模塊將12 V車載電源降壓至5 V單片機(jī)工作電源;信號(hào)采集模塊使用TLP521光電耦合器將采集到的高電平脈沖信號(hào)轉(zhuǎn)換為5 V脈沖信號(hào);時(shí)鐘模塊提供LED顯示的實(shí)時(shí)時(shí)間;LED顯示模塊使用74HC595驅(qū)動(dòng)數(shù)碼管實(shí)現(xiàn)時(shí)間和速度的顯示;按鍵模塊主要用來調(diào)整時(shí)間;報(bào)警模塊實(shí)現(xiàn)超速后的聲音報(bào)警和閃燈警示;AT24C64串行存儲(chǔ)器對(duì)超速信息進(jìn)行存儲(chǔ);接觸式IC卡存儲(chǔ)器可讀取AT24C64中的數(shù)據(jù),讀取完數(shù)據(jù)即可取消報(bào)警。

1.2.1 主控模塊
    主控模塊主要采用STC89C52單片機(jī)[1-2],該單片機(jī)有4個(gè)并行I/O端口,每個(gè)端口有8條端口線,其中P0端口在沒有外存儲(chǔ)器時(shí)可作為8位準(zhǔn)雙向I/O端口使用,外接存儲(chǔ)器時(shí)可作為地址線/數(shù)據(jù)線使用;P1、P2和P3端口均可作為8位準(zhǔn)雙向I/O端口使用,P3口和其他I/O端口有很大區(qū)別,除作為一般I/O口外,每個(gè)引腳還有專門的功能。所有的外部芯片都可以通過這些端口進(jìn)行擴(kuò)展。 
1.2.2 電源模塊
    電源模塊使用LM2596開關(guān)電壓調(diào)節(jié)器,該調(diào)節(jié)器是降壓型電源管理單片集成電路,能夠輸出3 A的驅(qū)動(dòng)電流,同時(shí)具有很好的線性和負(fù)載調(diào)節(jié)特性。該系統(tǒng)中選擇固定輸出5 V版本,即調(diào)節(jié)器型號(hào)為LM2595-5.0。該器件內(nèi)部集成頻率補(bǔ)償和固定頻率發(fā)生器,開關(guān)頻率為150 kHz,與低頻開關(guān)調(diào)節(jié)器相比較,可以使用更小規(guī)格的濾波元件。由于該器件只需4個(gè)外接元件,極大地簡化了開關(guān)電源電路的設(shè)計(jì)。原理圖如圖2所示。

1.2.3 信號(hào)采集模塊
    目前機(jī)場車輛轉(zhuǎn)速傳感器大多使用霍爾傳感器,其輸出信號(hào)為脈沖信號(hào),脈沖信號(hào)的高電平值基本與車載電源電壓值相同,需要通過光電耦合器將其轉(zhuǎn)換為單片機(jī)可采集的5 V脈沖信號(hào)[3]。如圖3所示,Signal為轉(zhuǎn)速傳感器實(shí)際輸出的信號(hào),轉(zhuǎn)換后的信號(hào)與單片機(jī)INT1/P3.3引腳連接,通過外部中斷功能記錄脈沖數(shù)并通過計(jì)算轉(zhuǎn)換為速度值。

1.2.4 時(shí)鐘模塊
    時(shí)鐘模塊使用DS1302浚流充電時(shí)鐘芯片,該芯片包含一個(gè)RTC/日歷和31 B的靜態(tài)RAM。它通過簡單的串行接口與微處理器通信。RTC/日歷提供秒、分、小時(shí)、天、日期、月和年。如果當(dāng)月天數(shù)小于31天將自動(dòng)進(jìn)行調(diào)整,包含閏年校正。時(shí)鐘可以工作在24小時(shí)制和12小時(shí)制,12小時(shí)制下用AM/PM來指示,該系統(tǒng)中選擇使用24小時(shí)制。
    在DS1302和微處理器之間使用同步串行方式進(jìn)行通信。只需要3條線就可以通信,分別為RST(reset)、I/O(數(shù)據(jù)線)和SCLK(串行時(shí)鐘),Vcc1連接至3 V備用電源,在主電源Vcc2供應(yīng)失效時(shí),備用電源以保持時(shí)間和數(shù)據(jù),原理圖如圖4所示。

1.2.5 LED顯示模塊
    LED顯示模塊使用2片74HC595級(jí)聯(lián)驅(qū)動(dòng)8位LED數(shù)碼管[4],前6位數(shù)碼管顯示實(shí)時(shí)時(shí)間,后2位顯示速度值。
    74HC595芯片是美國國家半導(dǎo)體公司生產(chǎn)的通用移位寄存器芯片。并行輸出端具有輸出鎖存功能,與單片機(jī)連接簡單方便,只需3個(gè)I/O口即可。本系統(tǒng)采用2片74HC595芯片級(jí)聯(lián),一片用于段碼的傳輸,另外一片用于數(shù)碼管位選。原理圖如圖5所示。

1.2.6 按鍵模塊
    按鍵模塊采用三個(gè)獨(dú)立按鍵,實(shí)現(xiàn)時(shí)間的調(diào)整。S2為功能鍵,通過此鍵來選取要調(diào)整的小時(shí)、分鐘和秒,調(diào)整完畢后此鍵還有確定功能;S3為增加鍵,當(dāng)功能鍵選定后,按此鍵來增加選定項(xiàng)值;S4鍵用以減小選定項(xiàng)的值。各項(xiàng)功能均通過軟件實(shí)現(xiàn),原理電路較簡單,如圖6所示。

1.2.7 報(bào)警模塊
    報(bào)警模塊采用三極管驅(qū)動(dòng)蜂鳴器,三極管驅(qū)動(dòng)繼電器并通過繼電器控制12 V的LED警示燈,原理圖如圖7所示。


1.2.8 AT24C64串行存儲(chǔ)器模塊和接觸式IC卡存儲(chǔ)模塊
    單片機(jī)在工作時(shí),因某種原因造成突然掉電,將會(huì)丟失數(shù)據(jù)存儲(chǔ)器(RAM)里的數(shù)據(jù)。雖然單片機(jī)主電源里有大容量濾波電容器,當(dāng)?shù)綦姇r(shí),單片機(jī)靠貯存在電容器里的能量,一般能維持工作10 ms 左右。為此,要求一旦系統(tǒng)發(fā)生瞬間斷電時(shí),必須要在小于10 ms的時(shí)間內(nèi)將RAM中的數(shù)據(jù)及時(shí)地轉(zhuǎn)存到EEPROM數(shù)據(jù)寄存器中,以確保車輛超速信息的完整度。在本系統(tǒng)中,采用AT24C64存儲(chǔ)器對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)。
    IC卡存儲(chǔ)模塊中使用24C64 IC卡對(duì)數(shù)據(jù)進(jìn)行讀取。AT24C64存儲(chǔ)器及IC卡均通過I2C總線接口進(jìn)行操作,由于IC卡器件地址只能為默認(rèn)的000,所以通過將AT24C64的A0接VCC改變其器件地址為001,IC卡座的10管腳與單片機(jī)P3.2引腳連接,使用外部中斷0執(zhí)行插卡后的數(shù)據(jù)讀取操作,LED0為插卡指示燈。原理圖如圖8所示。

2 系統(tǒng)的軟件設(shè)計(jì)
    整個(gè)系統(tǒng)的軟件采用結(jié)構(gòu)化和模塊化設(shè)計(jì)方法。整個(gè)軟件系統(tǒng)采用C語言編程,包括一個(gè)主模塊和3個(gè)子模塊,3個(gè)子模塊分別是鍵盤掃描、時(shí)鐘程序模塊和I2C協(xié)議程序??傮w軟件流程圖如圖9所示。

    主模塊包括單片機(jī)初始化、信號(hào)采集、速度顯示、超速報(bào)警程序以及插卡判斷與執(zhí)行程序;鍵盤掃描程序?qū)崿F(xiàn)對(duì)時(shí)間的調(diào)整,為了安全起見只允許在車輛靜止時(shí)對(duì)時(shí)間進(jìn)行調(diào)整;時(shí)鐘程序模塊主要包括時(shí)鐘芯片的初始化、時(shí)間數(shù)據(jù)的讀取與寫入程序以及實(shí)時(shí)顯示;74HC595驅(qū)動(dòng)顯示程序是將顯示緩沖區(qū)的BCD碼經(jīng)查表譯碼后送數(shù)碼管顯示;I2C協(xié)議程序主要是實(shí)現(xiàn)存儲(chǔ)器與單片機(jī)之間數(shù)據(jù)的正確通信。
    本文介紹了一種基于STC單片機(jī)的車輛超速報(bào)警系統(tǒng)。經(jīng)過多次實(shí)驗(yàn),論證了該方法的可行性和實(shí)用性,實(shí)驗(yàn)中各項(xiàng)功能正常,運(yùn)行可靠,使用方便,效果好,達(dá)到了設(shè)計(jì)要求。
參考文獻(xiàn)
[1] 姚榮斌,孫紅兵.基于STC89C51RC的轉(zhuǎn)速測量系統(tǒng)設(shè)計(jì)[J].連云港師范高等??茖W(xué)校學(xué)報(bào),2007(4):84-87.
[2] 張寅剛.用單片機(jī)實(shí)現(xiàn)通用存儲(chǔ)器IC卡的讀寫[J].自動(dòng)化儀表,2002,23(6):37-41.
[3] 楊青川,甄興福,李芳.I2C總線器件與非I2C總線單片機(jī)之間數(shù)據(jù)傳輸?shù)能浻布O(shè)計(jì)[J].儀表技術(shù)與傳感器,
2004(5):40-41,48.
[4] 楊占軍.基于DS1302的數(shù)碼管時(shí)鐘電路設(shè)計(jì)[J].電子世界,2005(9):35-36.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。