秦風元
(重慶三峽職業學院,重慶 404155)
今天,紅綠燈安裝在各個道口上,已經成為疏導交通車輛最常見和最有效的手段。但這一技術在19世紀就已出現了。 進入新世紀以來,世界經濟發展迅猛,從而帶動了以出行、物流為主的交通行業的蓬勃發展,而對交通燈的控制是一種對大眾進行管理的公共系統手段。安全并且高效的公共交通秩序,必須以一系列強制的交通規則作為基礎保障,同時利用新興的高科技方式進行有效實施。在交通管理中引入單片機控制交通燈代替交管人員在交叉路口服務,有助于提高交通運輸的安全性、提高交通管理的服務質量。并在一定程度上盡可能降低由道路擁擠造成的經濟損失,同時也減小了工作人員的勞動強度。
中國車輛數量不斷增加,交通控制在未來的交通管理中起著越來越重要的作用。智能交通燈的管理比重修一條馬路無論在經濟、交通運行速率上都有很好的效益、更加節約資源。交管人員有更多的精力投入到整個城市交通管理中,帶來更大的經濟和社會效益,為創造美好的城市交通形象發揮更多的作用。本設計應用8051單片機為核心,利用數碼管及LED燈組成顯示電路,以鍵盤電路組成系統設置和特殊情況控制電路。
東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三個指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。設置紅燈25s、黃燈5s、綠燈20s、采用兩位數碼管來顯示時間,時間以倒計時方式來顯示;通過鍵盤來調整東西、南北路口各信號燈的時間和緊急情況的設置。
本設計采用8051單片機作為控制器,通行時間或者等待時間通過數碼管以倒計時方式顯示,同時單片機控制交通信號燈(紅燈、黃燈、綠燈)的正常替換工作。系統設計框圖如圖1所示。其中,單片機是整個系統的核心部件,是控制中心,能運行程序和處理數據,交通燈主要完成交通信號紅、黃、綠燈的顯示,數碼管完成時間的顯示。只有各個部件協調工作,才能實現整個系統的功能。通過對系統功能的分析,確定硬件組成,并在PROTUES中繪制系統原理圖。

圖1 系統硬件組成方框圖
(1)單片機。單個芯片微型計算機(Single Chip Microcomputer)簡稱單片機,是把組成微型計算機的各功能部件:中央處理器CUP、隨機存取存儲器RAM、只讀存儲器ROM、I/O接口電路、定時器/計數器以及串行接口等部件制作在一塊集成芯片中,構成一個完整的微型計算機。單片機的產生與發展和微處理器的產生與發展大體上同步。現在,雖然單片機的品種繁多、各具特色,但以80C51為核心的單片機仍占主流,兼容其結構和指令系統的有Philips公司的產品,ATMEL公司的產品和中國臺灣的Winbond系列單片機。
本設計采用美國ATMEL公司生產的AT89C51單片機作為主控模塊,實現信息處理和對整個系統的控制功能。
(2)最小系統電路。系統中,復位電路、時鐘電路、電源電路和單片機組成單片機最小系統,是保證單片機正常運行程序的最小硬件電路。只要正確完整設計單片機最小系統,單片機就能運行程序,從而控制硬件電路,實現交通燈的功能。其中復位電路采用按鍵復位,電路如圖2所示。
(3)數碼管顯示電路。數碼管顯示分為靜態顯示和動態顯示,本系統采用數碼管動態顯示方式。采用兩個兩位的共陽數碼管,分別顯示東西和南北路口的信號燈持續時間,時間采用倒計時顯示,利用單片機的定時/計數器來實現1秒精確定時。數碼管段碼接單片機P0口,位碼接P2口。電路如圖2所示。
(4)信號燈電路。本設計應用單片機的P2口來控制12個發光二極管來模擬十字路口信號燈的工作情況,其中,P1.0,P1.1,P1.2分別控制東西路口的紅燈、黃燈和綠燈,用P1.3,P1.4,P1.5分別來控制南北路口的綠燈、黃燈和紅燈。二極管才用共陽連接方式,所以對應端口輸出高電平信號燈點亮,輸出低電平信號燈熄滅。
(5)鍵盤控制電路。單片機鍵盤電路分獨立式鍵盤和矩陣式鍵盤,本設計應用獨立式鍵盤。在單片機的P3口接幾個按鍵開關,主要實現對東西和南北信號燈持續時間的調整。當需要根據實時交通堵塞情況實行人為控制時或遇到緊急情況時,鍵盤電路起到控制的作用,并能使各路交通恢復到初始狀態。
根據上述對系統各部分電路的分析和設計,最后在protues中繪制完成整個系統的電路圖,如圖2所示。

圖2 系統硬件電路原理圖
本系統軟件采用C語言編寫程序,C語言是一種編譯型程序設計語言,兼顧了多種高級語言的特點,并具備匯編語言的功能。C語言有功能豐富的庫函數、運行速度快、編譯效率高、有很好的可移植性,而且可以實現對系統硬件的直接控制。此外,C語言程序具有完善的模塊程序結構,從而為軟件設計中采用結構化程序設計方法提供了很好的保障。因此,使用C語言進行程序設計已成為軟件開發的一個主流。
軟件實現對整個硬件電路的控制,按要求完成本系統的全部功能。本系統軟件主要包括主函數、延時函數、數碼管顯示函數、按鍵識別函數和定時器中斷函數等。采用結構化程序設計,每個函數完成特定功能。整個程序的運行總是從主函數開始,最后從主函數結束,所以主函數是整個程序的入口,也是整個程序的出口。其中,主函數主要完成了交通燈的初始化工作,使得東西和南北干道交通能正常轉換工作。在主函數中分別調用了兩個子函數,一個是數碼管動動態顯示函數,用來控制十字路口信號燈持續時間,另一個是鍵盤掃描函數,用來實現鍵盤的識別和按鍵開關功能。系統1秒時間由單片機定時/計數器實現,一次定時50ms,連續定時20次就是1秒時間,定時/計數器采用中斷方式,定時方便而且精確。
根據系統功能分析,確定軟件設計算法,并畫出程序流程圖,然后在KEIL軟件中進行程序的編寫。
打開繪制完成的電路圖,將運行并編譯成功的程序文件加載到單片機,在PROTUES中仿真運行系統,實現相應的功能。

圖3 主函數流程圖
由此可見一個完整的單片機應用系統由硬件系統和軟件系統組成,只有軟件和硬件協調工作,才能完成系統功能。本次設計采用8051單片機為核心,結合特殊情況下的控制電路、時鐘電路、鍵盤、LED顯示,進而設計出一種高效快速,綠色節能的新型交通燈控制系統。
[1]劉小平.單片機應用技術[M].重慶:重慶大學出版社,2016.
[2]黃美興.電子技術[M].南京:南京大學出版社,2015.
[3]張毅坤.單片微型計算機原理及應用[M].西安:西安電子科技大學出版社,1998.
[4]譚浩強.單片機課程設計[M].北京:清華大學出版社,1998.