汪利華
摘要;本文主要分析了單片機(jī)對交通信號燈的控制,首先闡述了交通信號燈的基本需求和時序設(shè)計,而后設(shè)計整體的硬件框架,以及軟件系統(tǒng)的邏輯設(shè)計,從而實現(xiàn)單片機(jī)對交通信號等的控制。
關(guān)鍵詞:單片機(jī);交通信號燈;邏輯控制;7端數(shù)碼管
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)07-0216-02
1概述
國民經(jīng)濟(jì)水平的不斷提升,使得人們對于物質(zhì)生活水平的要求越來越高,機(jī)動車輛已經(jīng)成為了人們?nèi)粘I?、工作的代步設(shè)備,成為了家庭中不可或缺的組成部分。機(jī)動車輛的增加,使得城市交通壓力不斷提成,尤其是在早晚高峰期在十字路口處,車輛來來往往、行人熙熙攘攘,這對為交通安全造成了一定的壓力,如何有序的指導(dǎo)車輛來往成為交通安全的關(guān)鍵。交通信號燈又稱為紅綠燈,是世界上通用的交通指揮方式,按照紅燈停、綠燈行、黃燈等的規(guī)則,指揮相應(yīng)的車輛來來往往通行,從而保障了城市交通十字路口的車流人行的秩序。單片機(jī)是以微電子為核心技術(shù)的嵌入式系統(tǒng)組成部分,通過外圍部件來輔助,通過人為的編程來實現(xiàn)單片機(jī)自動控制交通信號燈,從而有序地控制交通信號燈的依次亮滅,實現(xiàn)了單片機(jī)對紅綠燈和時間顯示器的自動有序控制,這對于保障交通有序通行來說具有非常重要的現(xiàn)實意義。
2交通信號燈的控制系統(tǒng)的設(shè)計
2.1交通信號燈的設(shè)計需求
在城市的十字路口設(shè)置交通信號燈,從而有效保障十字路口交通安全有序地通行,為我國城市交通安全提供安全保障,那么交通信號燈的亮滅順序就需要按照一定的要求來設(shè)計。
針對交通信號燈的規(guī)則中,全國具有統(tǒng)一的安全規(guī)則認(rèn)識,即紅燈表示停止、綠燈表示通行、黃燈表示等待,同時為了緩解人們在等待紅燈時的心理壓力,或者在綠燈通行時時間不夠而停在路中間造成的安全隱患,需要在燈色最后改變的10秒鐘內(nèi)以及黃燈亮起的3秒鐘內(nèi)進(jìn)行秒數(shù)跳轉(zhuǎn)顯示,從而緩解司機(jī)和行人的心理壓力,減少交通不安全隱患。
根據(jù)上述的基本需求,以十字路口為例來設(shè)計整個交通信號等的亮滅順序,從而指揮不同方向的車輛與行人的安全通行。在十字路口的東西和南北干道上分別設(shè)計安裝四套交通信號燈,每套由兩組紅綠燈加秒數(shù)顯示器組成,其中一組指揮前行的車輛,另外一組指揮左行的車輛。由于右行有專門的右轉(zhuǎn)通道,且具有不等待紅綠燈的最高權(quán)限,所以不設(shè)定紅綠燈指示系統(tǒng),只設(shè)定一個常亮的安全指示燈即可。根據(jù)要求在紅燈或者綠燈調(diào)換到黃燈之前的最后10秒鐘,秒數(shù)顯示器自動亮起計時10秒鐘,來為司機(jī)提供時間指示,而黃燈亮起時,提供3秒鐘的時間指示,直到秒數(shù)顯示器的最后一秒鐘,紅綠燈切換,對應(yīng)方向的司機(jī)通行或停止,從而消除安全隱患。另外,在主干道的兩側(cè)安裝有8組人行紅綠燈,按照同樣的切換規(guī)則和秒數(shù)顯示規(guī)則來進(jìn)行展示。
假設(shè)前行的紅燈、綠燈、黃燈分別為FR、FC、FY,左行的紅燈、綠燈、黃燈分別為LR、LG、LY,人行的紅燈、綠燈、黃燈分別為PR、PG、PY,那么十字路口的交通信號燈亮滅組合為表1所示。根據(jù)當(dāng)前表1的內(nèi)容來設(shè)計十字路口交通信號燈的亮滅順序流程,即可來指揮相應(yīng)的車輛和行人安全通過,從而有效保障城市交通的安全有效。
2.2交通信號燈控制系統(tǒng)的硬件結(jié)構(gòu)設(shè)計
交通信號燈控制系統(tǒng)的設(shè)計,要實現(xiàn)紅綠燈和秒數(shù)顯示器的自動控制,為了考慮性價比和資源應(yīng)用性,選用51系列的單片機(jī)作為整個控制系統(tǒng)的核心,其內(nèi)部包含了兩個可編程的定時器/計數(shù)器,分別為T0和T1,可以滿足整個交通信號控制系統(tǒng)的計時。另外,51系列的單片機(jī)外部擴(kuò)展接口相對比較少,為了滿足整個交通信號控制系統(tǒng)的需求,使用多個鎖存器和8255A擴(kuò)展并行接口來提供額外的數(shù)據(jù)接口,從而實現(xiàn)交通信號燈和秒數(shù)顯示器的顯示控制。同時,為了增加人工控制的參與,提供了外部鍵盤輸入接口,保障在突發(fā)情況下能夠人為地控制交通信號燈的亮滅,從而為事故處理和緊急情況提供有效的控制。如圖1所示,為基于51系列單片機(jī)的交通信號燈控制系統(tǒng)的硬件結(jié)構(gòu)設(shè)計框圖。
2.3控制芯片和外圍芯片
在交通信號燈控制系統(tǒng)中,51單片機(jī)作為數(shù)據(jù)計算、信號讀取和輸出控制的核心,通過編程來實現(xiàn)相應(yīng)的功能;鎖存器采用74LS373芯片,能夠?qū)?0C51單片機(jī)的通過端口輸出的數(shù)據(jù)鎖存,而后持續(xù)為對應(yīng)的8255A擴(kuò)展芯片提供穩(wěn)定的數(shù)據(jù)。8255A并行擴(kuò)展芯片能夠在時間脈沖的驅(qū)動下,讀取到74LS373鎖存芯片的數(shù)據(jù),而后將該數(shù)據(jù)傳輸?shù)綍r間顯示器和交通信號燈,從而控制秒數(shù)顯示器的對應(yīng)秒數(shù)的改變,控制交通信號燈的紅綠燈的亮滅。鍵盤輸入為整個控制系統(tǒng)的交互接口,外部控制人員能夠通過鍵盤按下,將控制意愿傳遞給單片機(jī),單盤機(jī)讀取到相應(yīng)的鍵盤數(shù)據(jù)后,就會將作出相應(yīng)的操作,直到外部控制人員按下自動按鈕之后才能跳轉(zhuǎn)回自動控制程序,按照既定的時間和順序進(jìn)行有效控制。
2.4信號燈和秒數(shù)顯示器
交通信號燈為常見的紅綠燈,可以理解為不同顏色的發(fā)光二極管,在其電源驅(qū)動下能夠進(jìn)行發(fā)光發(fā)亮。在對紅綠燈連接的方式上有兩種,電源經(jīng)電阻連接紅綠燈,而后連入到8255A擴(kuò)展芯片端口;第二種方式是8255A擴(kuò)展芯片端口,經(jīng)電阻連接紅綠燈,而后接地。這兩種方式都可以滿足不同的需求,不同的是在具體實現(xiàn)時,前者需要給定一個低電平可以讓紅綠燈發(fā)亮,后者則需要給定高電平才能使紅綠燈發(fā)亮。在具體的交通信號控制系統(tǒng)具體實現(xiàn)時,可以選擇不同的紅綠燈型號,來進(jìn)行方案選擇,是紅綠燈電源供給處在最佳的狀態(tài)。
秒數(shù)顯示器為7段數(shù)碼管,理論上我們可以理解為7個按照一定格局排列的二極管組,同樣的,7端數(shù)碼管對應(yīng)的二極顯示管可以采用接電源或者接地的方式進(jìn)行連接,當(dāng)連接電源時,在另一端給低電平即可使發(fā)亮;連接地時,在另外一端給定高電平即可使其發(fā)亮。7端數(shù)碼管對應(yīng)的二極管組合形成的對應(yīng)數(shù)字最終可以對應(yīng)一個8比特位的二進(jìn)制數(shù)值,所以可以采用枚舉的方法,寫定10個8比特位的二進(jìn)制數(shù)值,定時1,秒對7端數(shù)碼管進(jìn)行數(shù)據(jù)發(fā)送,從而形成秒數(shù)顯示的效果。以接地方式為例,如果要顯示0,則要7端數(shù)碼管外圍一圈的二極管發(fā)亮,中間一段二極管關(guān)閉,所以對應(yīng)的二進(jìn)制則為00111111,如果要顯示7,則使最上的數(shù)碼管和右側(cè)的兩個數(shù)碼管顯示,所以對應(yīng)的二進(jìn)制位00000111,最終得到了10個枚舉的二進(jìn)制數(shù)據(jù),從0到9依次為00111111,00001110,01011011,01001111,01100110,01101101,01111101,00000111,01111111,01100111。
3單片機(jī)對交通信號燈的控制邏輯
3.1秒數(shù)顯示子程序邏輯設(shè)計
秒數(shù)顯示程序是一直被頻繁調(diào)用,所以定義子函數(shù),在主函數(shù)中直接調(diào)用即可,秒數(shù)顯示子程序邏輯設(shè)計如下:
1)定義定義數(shù)組LightNumber,使其包含10個枚舉二進(jìn)制數(shù)值,順序為從9到0;
2)定義循環(huán)次數(shù)為n次,i等于0;(n作為函數(shù)的參數(shù),在主體中被定義)
3)進(jìn)入循環(huán)體設(shè)定定位器/計時器為定時模式,初始化數(shù)據(jù)設(shè)定使其定時1s pLightNumber[i],來讓7段數(shù)碼管顯示;開啟定時器;
4)i++;
5)重復(fù)到步驟c。
3.2交通信號燈控制系統(tǒng)主體邏輯設(shè)計
關(guān)于交通信號燈控制系統(tǒng)主體邏輯設(shè)計,主要是參照交通信號燈的基本需求和十字路口信號燈的變換順序來設(shè)計整個程序主體,具體如下:
1)上電初始化
2)發(fā)送控制字,使東西干道綠燈發(fā)送低電平,其他紅綠燈發(fā)送高電平
3)開啟定時程序,定時50s;
4)調(diào)用秒數(shù)顯示子程序,傳遞參數(shù)10;
5)發(fā)送控制字,使南北干道黃燈發(fā)送低電平,綠燈、紅燈高電平;其他干道黃燈低電平,綠燈、紅燈高電平;
6)調(diào)用秒數(shù)顯示子程序,傳遞參數(shù)為3;
7)發(fā)送控制字,使東西干道綠燈發(fā)送低電平,黃、紅燈高電平;其他干道黃、綠高電平,紅燈低電平;
8)定時50s;
9)調(diào)用描述顯示子程序,傳遞參數(shù)為10;
10)發(fā)送控制字,使東西干道黃燈發(fā)送高電平,綠燈、紅燈低電平;其他干道黃燈低電平,綠燈、紅燈高電平;
11)調(diào)用秒數(shù)顯示子程序,傳遞參數(shù)為3;
12)從b步驟循環(huán)。
4總結(jié)
使用單片機(jī)來控制交通信號燈,從實際需求到硬件框架再到軟件邏輯人手,通過硬件電路搭建、軟件編程以及后期調(diào)試來實現(xiàn)整個系統(tǒng),從而有序地指揮城市十字路口的交通,保障人們的出行安全。