王盼我
【摘 要】智能交通是將先進的通信技術用于錯綜復雜的道路交通中,在現(xiàn)有道路的基礎上,以更智能、更人工化的手段來全方位控制、處理各種交通頑疾。為了解決道路擁擠,采用STC12C5A60S2芯片為主控CPU,采用紅綠雙色點陣來模擬交通路口上的紅綠燈,STC微處理器通過HC05藍牙模塊傳過來的信息來控制點陣內容的變化。手機界面用藍牙串口軟件設計,主要是通過手機與STC12C5A60S2單片機的藍牙模塊進行連接來傳輸數(shù)據,用手機控制紅綠燈的不同狀態(tài),起到關鍵時刻改變交通燈狀態(tài)從而解決危急情況下道路擁堵的問題。
【關鍵詞】智能交通;STC12C5A60S2;單片機;手機;藍牙
【中圖分類號】TN925;U491.54 【文獻標識碼】A 【文章編號】1674-0688(2018)04-0140-02
0 引言
本次設計主要是手機界面通過藍牙模塊傳輸指令到單片機起到控制交通燈的目的。手機編輯后點擊按鍵即可發(fā)送指令給單片機。單片機型號為STC12C5A60S2,通過藍牙接手機發(fā)送的信息,控制由紅綠雙基色點陣模擬的交通燈。此設計模擬手機遠程控制紅綠燈用于改善現(xiàn)交通系統(tǒng)中紅綠燈控制的固化,便于工作人員在道路有突發(fā)狀況時迅速地對交通情況作出反應并能夠及時操作,使突發(fā)事件造成的危害降到最小。
1 底層硬件設計
1.1 硬件原理設計框圖
本系統(tǒng)由STC12C5A60S2單片機模塊、點陣顯示屏模塊、74hc595芯片、74LS138芯片、HC05藍牙模塊、手機組成。總體框圖如圖1所示。
1.2 STC12C5A60S2單片機電路設計
1.2.1 STC單片機簡介
STC12C5A60S2是STC生產的單時鐘/機器周期(1T)的單片機,是具有速度快、耗能低、抗干擾性強的新一代8051單片機,其處理速度是一般51單片機的8~12倍,且完全可兼容大眾化的單片機程序。由于在速度上有優(yōu)勢,開發(fā)時間大量減少,使其成為初學者的最佳選擇。應用STC12C5A60S2單片機也恰恰切合本次設計控制交通燈的目的。此外,STC12C5A60S2單片機還具有以下優(yōu)勢。
(1)芯片本身有看門狗,可對單片機中的程序進行加密,可有效地防止程序丟失,對勞動成果提供了保障。
(2)自帶雙串口,使其在通信中越發(fā)簡便,操作者可以操作自如。
(3)I/O口有4種狀態(tài)可以定義,在程序編寫及操作時可以自由選擇。
(4)STC12C5A60S2中斷優(yōu)先級有4種狀態(tài)可定義。
1.2.2 STC單片機控制點陣電路
該設計電路點陣的行與列是由74LS138和74HC595芯片通過51單片機的控制來實現(xiàn)的,其中74LS138所接收的代碼由單片機發(fā)送至其輸入端,在其芯片內部進行譯碼,并經輸出端輸出至放大電路來對點陣的行進行控制。點陣采用的是雙基色共陽極的設計,所以其公共端的驅動能力必須由放大電路來提升。形狀選擇代碼由74HC595的輸入端輸入,因為該芯片的工作特性是將串行數(shù)據轉為并行數(shù)據,所以點陣的列就由其輸出端來掃描,以此實現(xiàn)對點陣的操作與控制。
2 程序設計
2.1 程序說明
首先進行定義庫函數(shù),然后定義變量。在此程序中,定義了74LS138譯碼器的高電平有效地使能端為P2.3端口、74HC595的串口輸入時鐘端為P0.7端口、595的數(shù)據輸入時鐘端為P0.6端口。然后對定義的端口、串口及單片機的定時器進行初始化在這里使用的是定時器0的第二種工作模式,高八位和第八位一并設置為0XD2,定義全局中斷使能及定時器中斷使能,開啟定時器。接下來進入一個大循環(huán),此循環(huán)為不停地接收和發(fā)送控制點陣改變的信號。
定義點陣顏色和形狀的變量,單片機先將藍牙接收的數(shù)據存放在接收區(qū)。接著進入FOR循環(huán),此循環(huán)中,單片機將接收區(qū)的數(shù)據移到緩沖區(qū)。將信息中控制屏幕1的形狀的數(shù)值賦給定義的屏幕1形狀的變量中;信息中控制屏幕2的形狀的數(shù)值賦給定義的屏幕2形狀的變量中;信息中控制屏幕3的形狀的數(shù)值賦給定義的屏幕3形狀的變量中并進行遞減運算,已完成交通燈倒計時的功能。接著將信息中控制屏幕1的顏色的數(shù)值賦給定義的屏幕1顏色的變量中;將信息中控制屏幕2的顏色的數(shù)值賦給定義的屏幕2顏色的變量中。最后執(zhí)行一個判斷語句,此判斷語句實現(xiàn)的功能是前2個屏幕中有1個屏幕顏色為綠色,第三個倒計時的屏幕顏色即為綠色;前2個屏幕顏色都為紅色,第三個屏幕才為紅色。這樣加真實地模擬了交通燈的工作狀態(tài)。
在上述程序運轉過程中,當定時器計滿1 ms的時間時執(zhí)行中斷程序。中斷程序開始,先關閉定時器0,重裝定時器初值高八位和第八位都為0xD2,與初始化相同。因為定時器0采用工作方式二,每次中斷為50 μs,所以要進20次中斷才能執(zhí)行一次程序。然后單片機將緩沖區(qū)的數(shù)據發(fā)送至74LS138芯片,判斷芯片是否掃描完點陣列的一行,如掃描完成,進行下一步程序;如判斷未掃描,則重新掃描。74LS138芯片掃描完一行后,74HC595來掃描點陣的一列,單片機判斷是否掃描到,如判斷未掃描到,則單片機重新發(fā)送顯色數(shù)據,再次從74LS138開始掃描;如掃描完成,開啟74LS138的使能端,先將數(shù)據發(fā)送給點陣讓點陣顯示出應有的圖像,然后開啟定時器,執(zhí)行大循環(huán),等待下次中斷。
2.2 程序流程圖
程序流程圖如圖2所示。
3 手機與交通燈的通信
因為程序采用MODBUS通信協(xié)議,所以單片機需要接收藍牙發(fā)送的十六進制數(shù)字才可以將顯示內容下發(fā)給各硬件使其正常工作。發(fā)送10位十六進制數(shù)位點陣控制信號,定義發(fā)送的第一位為地址為用來選擇要控制的交通燈,可在程序中自行選擇修改;第二位為控制第一個點陣的形狀;第三位為控制第二個點陣的形狀;第四位是控制第三個點陣的形狀,在本次設計中用做紅綠燈的倒計時時間;第五位在設計中沒有具體作用,在此不多贅述;第六位控制第一個點陣的顏色;第七位控制第二個點陣的顏色;第八位控制第三個點陣的顏色;第九和第十位是CRC的校驗位。
如果給單片機發(fā)送十六進制代碼:EE 10 11 03 03 02 01 01 F8 9B,則交通燈的顯示狀態(tài)為第一個點陣是紅色上箭頭;第二個點陣是綠色右箭頭;第三個點陣從3開始倒計時,顏色為綠色。
參 考 文 獻
[1]劉智勇.智能交通控制理論及其應用[M].北京:科學出版社,2003.
[2]胡振文.城市智能交通系統(tǒng)現(xiàn)狀與發(fā)展構想[J].國防交通工程與技術,2003(2):10-13.
[3]李江全.計算機控制技術[M].北京:機械工業(yè)出版社,2007.
[4]關積珍.LED顯示屏發(fā)展狀況及趨勢[J].世界產品與技術,2000(2):21-22.
[5]余孟嘗.數(shù)字電子技術基礎簡明教程(第三版)[M].北京:高等教育出版社,2006.
[6]胡花.單片機原理及應用技術[M].南昌:江西高校出版社,2009.
[7]康華光.電子技術基礎數(shù)字部分[M].北京:高等教育出版社,2008.
[8]汪文,陳林.單片機原理及應用[M].武漢:華中科技大學出版社,2007.
[9]朱剛,談振輝,周賢偉.藍牙技術原理與協(xié)議[M].北京:北方交通大學出版社,2002.
[10]劉書生,趙海.藍牙技術應用[M].沈陽:東北大學出版社,2001.
[責任編輯:鐘聲賢]