摘 要: 采用STC89C52單片機結合LM2596-5.0開關電壓調節(jié)器,、DS12C887時鐘芯片,、AT24C64串行存儲器、74HC595移位寄存器以及接觸式IC卡等器件,實現(xiàn)了對機場車輛速度的實時顯示以及超速后的自行報警,,并將超速情況以數(shù)據(jù)的形式存儲到存儲器中,,可用IC卡對數(shù)據(jù)進行讀取。該系統(tǒng)通過超速報警來提醒司機減速,,從而減少車輛刮碰飛機等事件的發(fā)生,。
關鍵詞: STC單片機;I2C總線,;接觸式IC卡
隨著民航業(yè)的發(fā)展,,航空器的數(shù)量不斷增多,地面保障車輛隨之增加,,加之機場車輛行駛速度過快,,導致刮碰飛機的不安全事件時有發(fā)生,直接影響了飛機的持續(xù)適航,,嚴重危及航空公司的運行安全,,同時也造成了一定的經(jīng)濟損失。為了減少此類不安全事件的發(fā)生,,本設計利用單片機實現(xiàn)車輛的超速報警來提醒司機減速行駛,,并將超速情況實時記錄下來作為評價車輛駕駛員的依據(jù)之一,以便于對員工進行管理,。
1 系統(tǒng)的硬件設計
1.1 系統(tǒng)功能
系統(tǒng)實現(xiàn)的主要功能如下:
(1)按鍵調整時間以及實時顯示時間,;
(2)實時顯示車輛行駛的速度,;
(3)當車輛超過規(guī)定的速度值時,違規(guī)情況以數(shù)據(jù)形式保存在串行存儲器中,,并發(fā)出聲音警報,,同時警報燈閃爍,;
(4)管理人員使用IC卡讀取車輛的違規(guī)情況并取消報警,。
1.2 系統(tǒng)硬件的總體設計
系統(tǒng)的總體結構如圖1所示。它采用STC89C52單片機為主控芯片,,主要有電源模塊,、信號采集模塊、時鐘模塊,、LED顯示模塊,、按鍵模塊、報警模塊,、AT24C64串行存儲器模塊和接觸式IC卡存儲模塊,。其中STC89C52主要完成對外圍硬件的控制以及信息處理功能;電源模塊將12 V車載電源降壓至5 V單片機工作電源,;信號采集模塊使用TLP521光電耦合器將采集到的高電平脈沖信號轉換為5 V脈沖信號,;時鐘模塊提供LED顯示的實時時間;LED顯示模塊使用74HC595驅動數(shù)碼管實現(xiàn)時間和速度的顯示,;按鍵模塊主要用來調整時間,;報警模塊實現(xiàn)超速后的聲音報警和閃燈警示;AT24C64串行存儲器對超速信息進行存儲,;接觸式IC卡存儲器可讀取AT24C64中的數(shù)據(jù),,讀取完數(shù)據(jù)即可取消報警。
1.2.1 主控模塊
主控模塊主要采用STC89C52單片機[1-2],,該單片機有4個并行I/O端口,,每個端口有8條端口線,其中P0端口在沒有外存儲器時可作為8位準雙向I/O端口使用,,外接存儲器時可作為地址線/數(shù)據(jù)線使用,;P1、P2和P3端口均可作為8位準雙向I/O端口使用,,P3口和其他I/O端口有很大區(qū)別,,除作為一般I/O口外,每個引腳還有專門的功能,。所有的外部芯片都可以通過這些端口進行擴展,。
1.2.2 電源模塊
電源模塊使用LM2596開關電壓調節(jié)器,該調節(jié)器是降壓型電源管理單片集成電路,,能夠輸出3 A的驅動電流,,同時具有很好的線性和負載調節(jié)特性,。該系統(tǒng)中選擇固定輸出5 V版本,即調節(jié)器型號為LM2595-5.0,。該器件內部集成頻率補償和固定頻率發(fā)生器,,開關頻率為150 kHz,與低頻開關調節(jié)器相比較,,可以使用更小規(guī)格的濾波元件,。由于該器件只需4個外接元件,極大地簡化了開關電源電路的設計,。原理圖如圖2所示,。
1.2.3 信號采集模塊
目前機場車輛轉速傳感器大多使用霍爾傳感器,其輸出信號為脈沖信號,,脈沖信號的高電平值基本與車載電源電壓值相同,,需要通過光電耦合器將其轉換為單片機可采集的5 V脈沖信號[3]。如圖3所示,,Signal為轉速傳感器實際輸出的信號,,轉換后的信號與單片機INT1/P3.3引腳連接,通過外部中斷功能記錄脈沖數(shù)并通過計算轉換為速度值,。
1.2.4 時鐘模塊
時鐘模塊使用DS1302浚流充電時鐘芯片,,該芯片包含一個RTC/日歷和31 B的靜態(tài)RAM。它通過簡單的串行接口與微處理器通信,。RTC/日歷提供秒,、分、小時,、天,、日期、月和年,。如果當月天數(shù)小于31天將自動進行調整,,包含閏年校正。時鐘可以工作在24小時制和12小時制,,12小時制下用AM/PM來指示,,該系統(tǒng)中選擇使用24小時制。
在DS1302和微處理器之間使用同步串行方式進行通信,。只需要3條線就可以通信,,分別為RST(reset)、I/O(數(shù)據(jù)線)和SCLK(串行時鐘),,Vcc1連接至3 V備用電源,,在主電源Vcc2供應失效時,備用電源以保持時間和數(shù)據(jù),,原理圖如圖4所示,。
1.2.5 LED顯示模塊
LED顯示模塊使用2片74HC595級聯(lián)驅動8位LED數(shù)碼管[4],,前6位數(shù)碼管顯示實時時間,后2位顯示速度值,。
74HC595芯片是美國國家半導體公司生產(chǎn)的通用移位寄存器芯片,。并行輸出端具有輸出鎖存功能,與單片機連接簡單方便,,只需3個I/O口即可,。本系統(tǒng)采用2片74HC595芯片級聯(lián),一片用于段碼的傳輸,,另外一片用于數(shù)碼管位選,。原理圖如圖5所示,。
1.2.6 按鍵模塊
按鍵模塊采用三個獨立按鍵,,實現(xiàn)時間的調整。S2為功能鍵,,通過此鍵來選取要調整的小時,、分鐘和秒,調整完畢后此鍵還有確定功能,;S3為增加鍵,,當功能鍵選定后,按此鍵來增加選定項值,;S4鍵用以減小選定項的值,。各項功能均通過軟件實現(xiàn),原理電路較簡單,,如圖6所示,。
1.2.7 報警模塊
報警模塊采用三極管驅動蜂鳴器,三極管驅動繼電器并通過繼電器控制12 V的LED警示燈,,原理圖如圖7所示,。
1.2.8 AT24C64串行存儲器模塊和接觸式IC卡存儲模塊
單片機在工作時,因某種原因造成突然掉電,將會丟失數(shù)據(jù)存儲器(RAM)里的數(shù)據(jù)。雖然單片機主電源里有大容量濾波電容器,當?shù)綦姇r,單片機靠貯存在電容器里的能量,一般能維持工作10 ms 左右,。為此,要求一旦系統(tǒng)發(fā)生瞬間斷電時,必須要在小于10 ms的時間內將RAM中的數(shù)據(jù)及時地轉存到EEPROM數(shù)據(jù)寄存器中,以確保車輛超速信息的完整度,。在本系統(tǒng)中,采用AT24C64存儲器對數(shù)據(jù)進行存儲,。
IC卡存儲模塊中使用24C64 IC卡對數(shù)據(jù)進行讀取,。AT24C64存儲器及IC卡均通過I2C總線接口進行操作,由于IC卡器件地址只能為默認的000,,所以通過將AT24C64的A0接VCC改變其器件地址為001,,IC卡座的10管腳與單片機P3.2引腳連接,使用外部中斷0執(zhí)行插卡后的數(shù)據(jù)讀取操作,,LED0為插卡指示燈,。原理圖如圖8所示,。
2 系統(tǒng)的軟件設計
整個系統(tǒng)的軟件采用結構化和模塊化設計方法。整個軟件系統(tǒng)采用C語言編程,,包括一個主模塊和3個子模塊,,3個子模塊分別是鍵盤掃描、時鐘程序模塊和I2C協(xié)議程序,??傮w軟件流程圖如圖9所示。
主模塊包括單片機初始化,、信號采集,、速度顯示、超速報警程序以及插卡判斷與執(zhí)行程序,;鍵盤掃描程序實現(xiàn)對時間的調整,,為了安全起見只允許在車輛靜止時對時間進行調整;時鐘程序模塊主要包括時鐘芯片的初始化,、時間數(shù)據(jù)的讀取與寫入程序以及實時顯示,;74HC595驅動顯示程序是將顯示緩沖區(qū)的BCD碼經(jīng)查表譯碼后送數(shù)碼管顯示;I2C協(xié)議程序主要是實現(xiàn)存儲器與單片機之間數(shù)據(jù)的正確通信,。
本文介紹了一種基于STC單片機的車輛超速報警系統(tǒng),。經(jīng)過多次實驗,論證了該方法的可行性和實用性,,實驗中各項功能正常,,運行可靠,使用方便,效果好,達到了設計要求。
參考文獻
[1] 姚榮斌,孫紅兵.基于STC89C51RC的轉速測量系統(tǒng)設計[J].連云港師范高等??茖W校學報,2007(4):84-87.
[2] 張寅剛.用單片機實現(xiàn)通用存儲器IC卡的讀寫[J].自動化儀表,2002,,23(6):37-41.
[3] 楊青川,甄興福,李芳.I2C總線器件與非I2C總線單片機之間數(shù)據(jù)傳輸?shù)能浻布O計[J].儀表技術與傳感器,
2004(5):40-41,48.
[4] 楊占軍.基于DS1302的數(shù)碼管時鐘電路設計[J].電子世界,2005(9):35-36.