蔡姍姍
(天津現(xiàn)代職業(yè)技術(shù)學(xué)院 天津300350)
基于AT89C51單片機(jī)的交通燈設(shè)計(jì)與仿真
蔡姍姍
(天津現(xiàn)代職業(yè)技術(shù)學(xué)院 天津300350)
以單片機(jī)AT89C51作為交通信號(hào)燈控制的核心,配合不同顏色的發(fā)光二極管,通過最簡(jiǎn)單的電路實(shí)現(xiàn)十字路口紅綠黃三色變化的交通信號(hào)燈。經(jīng)過對(duì)系統(tǒng)功能的分析,完成硬件設(shè)計(jì)和軟件設(shè)計(jì),并利用Proteus仿真軟件,實(shí)現(xiàn)系統(tǒng)的調(diào)試和仿真。對(duì)單片機(jī)系統(tǒng)要進(jìn)行統(tǒng)一的調(diào)試,在不同的工作環(huán)境下,系統(tǒng)調(diào)試又分為模擬調(diào)試和現(xiàn)場(chǎng)調(diào)試,不同的調(diào)試對(duì)應(yīng)的目的和作用也因所處的環(huán)境不同而有所差異。采用模擬仿真調(diào)試的方法,其目的是排查出系統(tǒng)軟硬件設(shè)計(jì)中存在的問題,從而達(dá)到控制要求。
AT89C51 單片機(jī) 交通燈 定時(shí)器 Proteus
隨著經(jīng)濟(jì)發(fā)展和國(guó)民生活水平的不斷提高,居民的汽車擁有量也不斷增加,交通擁擠和堵塞變得隨處可見。十字路口是道路交通中最容易發(fā)生擁堵的地段,交警的指揮可以很好地維持十字路口的交通秩序,但每一個(gè)路口都配備一名交警,并要求交警24,h在崗指揮幾乎是不可能完成的。交通信號(hào)燈的使用很好地解決了這一矛盾,來自不同方向的駕駛員根據(jù)交通信號(hào)燈的指示行駛,既保證了十字路口的交通秩序,又保障了駕駛員的駕駛安全。
單片機(jī)就是把中央處理器、隨機(jī)存取存儲(chǔ)器、只讀存儲(chǔ)器、定時(shí)器和計(jì)數(shù)器以及I/O接口電路等主要計(jì)算機(jī)部件集成在一塊集成電路芯片上的微型計(jì)算機(jī)。AT89C51是ATMEL公司出品的一款低電壓高性能的高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。
十字路口交通燈要求紅綠燈交替點(diǎn)亮是最基本的要求。如圖1所示,交通燈有4種狀態(tài),分別為:①東西紅、南北綠;②東西綠、南北紅;③東西紅、南北黃閃;④東西黃閃、南北紅。東西方向和南北方向信號(hào)燈控制是中心對(duì)稱的,即無論是主干道還是支干道,兩側(cè)系統(tǒng)對(duì)同方向的信號(hào)燈控制是同步的。人行道無論哪個(gè)方向,系統(tǒng)對(duì)兩側(cè)4個(gè)信號(hào)燈的控制也是同步的,且人行道的紅綠燈變化和行車道的紅綠燈變化應(yīng)該是一致的。

圖1 交通信號(hào)燈示意圖Fig.1 Schematic diagram of traffic signal lamps
對(duì)于不同顏色交通燈變化的周期和時(shí)間的設(shè)定,可以通過對(duì)所在路口交通狀況的分析、主干路和支干路的設(shè)定等方面確定時(shí)長(zhǎng),再通過對(duì)單片機(jī)內(nèi)部的定時(shí)器的設(shè)置和編程,完成時(shí)間周期的確定。
硬件上,整個(gè)電路的核心是AT89C51單片機(jī),選取紅綠黃三色的發(fā)光二極管來模擬交通信號(hào)燈的3種顏色,電源POWER和排阻respack-8配合提供供電。考慮到東西方向和南北方向的交通信號(hào)燈顏色總是一致的,為了降低電路的復(fù)雜度并降低編程的難度,同一方向上相同顏色的兩個(gè)交通信號(hào)燈用1個(gè)I/O口來控制。東西和南北兩個(gè)方向各需要3個(gè)I/O口,這里選用AT89C51的P1口中的P1.0~P1.5來控制燈的狀態(tài)。圖2為省略了時(shí)鐘電路、復(fù)位電路和中斷電路的簡(jiǎn)易交通燈電路圖。如圖2所示,P1.0控制南北方向的綠燈,P1.1控制南北方向的黃燈,P1.2控制南北方向的紅燈;P1.3控制東西方向的紅燈,P1.4控制東西方向的黃燈,P1.5控制東西方向的綠燈。

圖2 交通信號(hào)燈硬件電路圖Fig.2 Traffic signal lamp hardware circuit diagram
AT89C51單片機(jī)的定時(shí)器工作原理是,當(dāng)選擇定時(shí)器工作方式時(shí),計(jì)數(shù)輸入信號(hào)來自內(nèi)部的振蕩信號(hào)。在每個(gè)機(jī)器周期內(nèi),定時(shí)器的計(jì)數(shù)器做一次“+1”運(yùn)算。因此,定時(shí)器亦可視為計(jì)算機(jī)機(jī)器周期的計(jì)數(shù)器。每個(gè)機(jī)器周期又等于12個(gè)振蕩脈沖,故定時(shí)器的計(jì)數(shù)速率為振蕩頻率的1/12(即12分頻)。若單片機(jī)的晶振主頻為12,MHz,即表示1,μs內(nèi)振蕩12次,則此時(shí)的計(jì)數(shù)周期為1,μs。如果定時(shí)器的計(jì)數(shù)器“+1”產(chǎn)生溢出,則標(biāo)志著定時(shí)時(shí)間到。在使用AT89C51的定時(shí)器功能時(shí),涉及到的寄存器包括:①方式寄存器TMOD,字節(jié)地址為89,H,其主要功能是設(shè)定計(jì)數(shù)器方式還是定時(shí)器方式,以及設(shè)定定時(shí)器選擇4種工作方式中的一種。②控制寄存器TCON,字節(jié)地址為88,H,其主要控制溢出標(biāo)志、中斷請(qǐng)求以及定時(shí)器T1的啟動(dòng)和停止。
程序設(shè)計(jì)流程圖如圖3所示,這里采用C51來編寫源程序,要求設(shè)計(jì)者具有一定的C語言基礎(chǔ)。

圖3 程序設(shè)計(jì)流程圖Fig.3 Program design flow chart
系統(tǒng)的仿真階段使用PROTEUS仿真軟件。啟動(dòng)軟件后,選取元件:?jiǎn)纹瑱C(jī)AT89C51、紅黃藍(lán)3色的發(fā)光二極管、排阻以及電源。將程序編譯產(chǎn)生的16進(jìn)制文件燒寫到單片機(jī)中,開始仿真調(diào)試。為了更好地測(cè)試系統(tǒng)的性能,可將交通信號(hào)燈的變化周期適當(dāng)縮短。
基于單片機(jī)控制交通信號(hào)燈,在單片機(jī)程序的控制下向交通信號(hào)燈顯示電路發(fā)送控制數(shù)據(jù),通過外圍芯片和電路的配合,來控制十字路口的交通。而交通信號(hào)燈亮變化周期的具體時(shí)間,則可以根據(jù)當(dāng)?shù)剀嚵鳌⑷肆髁縼碓O(shè)定,也可以根據(jù)主干道、支干道的不同來設(shè)定。交通信號(hào)燈的使用要配合一套完整的交通管理方案,才能很好地管理道路交通,維持車輛、人流和諧有序的交通狀態(tài)。
[1] 沈鴻星. LED交通信號(hào)燈系統(tǒng)的硬件設(shè)計(jì)[J]. 電子工程師,2004,30(3):75-77.
[2] 李朝青. 單片機(jī)原理及接口技術(shù)[M]. 北京:北京航空航天大學(xué)出版社,2006.
[3] 查振亞,葉向陽. 智能交通燈控制系統(tǒng)[J]. 華中理工大學(xué)學(xué)報(bào),1997,25(2):63-65.
Design and Simulation of Traffic Lights Based on AT89C51 MCU
CAI Shanshan
(Tianjin Modern Vocational Technology College,Tianjin 300350,China)
In this paper,a traffic light switching among three colors of red,green and yellow was realized by taking microcontroller AT89C51 as the core of traffic signal lamp control and different colors of light-emitting diodes.Through an analysis of system functions,hardware and software design were performed and system debugging and simulation were realized using Proteus simulation software.The single chip microcomputer system was given a unified debugging.Under different working conditions,system debugging was divided into simulation debugging and field debugging with different purposes and roles based on different environments.In this paper,simulation debugging method was adopted to troubleshoot the problems in system software and hardware design,so as to achieve the control requirements.
AT89C51;single chip microcomputer;traffic lights;timer;Proteus
TP36
:A
:1006-8945(2016)09-0042-02
2016-08-01