1、基于8051单片机的城市智能交通灯控制系统的设计 基于8051单片机的城市智能交通灯控制系统的设计BACHELORS DEGREE THESIS OF LANZHOU CITY UNIVERSITYThe Design of Intelligent Traffic Light System Based on 8051 SCM College:School of Beili Engineering Technology Subject:Electronic Information Science and Technology Name: Zhu Ming Directed by:Shi Rui
2、Lecturer May 2012郑 重 声 明本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。本人签名: 日期: 摘 要随着经济的发展,城市现代化程度不断提高,交通需求和交通量迅速增长,城市交通网络中交通拥挤日益严重。因此,一个好的交通灯控制系统,将给道路拥挤等方面给予技术革新。8051单片机的交通灯控制系统由8051单片机、交通灯显示、LED倒计
3、时、紧急处理(中断)等模块组成。本设计除了基本交通灯功能外,还具有倒计时显示、紧急情况处理等相关功能。理论证明该系统能够简单、经济、有效地疏导交通,提高交通路口的通行能力。本设计根据单片机具有功能强、实用方便灵活、可靠性高的特点,提出了用8051单片机自动控制交通信号灯灯及时间显示的方法,同时给出了软硬件的设计及实现方法,在硬件电路中具体设计了时钟电路、复位电路、中断电路信号灯电路设计,在软件电路中具体编写了中断程序和软件延时程序。为交通指挥自动化提供一种新的廉价手段,具有一定的推广意义。关键词:交通控制;单片机;8051;智能ABSTRACT The ages is an automatio
4、n ages nowadays and transportation light controls waiting a lot of equipments of professions all is closely related with calculator. Therefore, a good transportation light control system, will hustle for road, give technique innovation. The 8051 microcontrollre control system consists of the traffic
5、 lights display,8051 monolithic integrated circuits, and LED the countdown,emergency adjustment .In addition to the basic traffic function outside ,still have time to manuallyset, and so on .theory show that the system can simple,economic and effective relieves traffic,improve the crossroads capacit
6、y. According to the design of chip mircrocotrollre has strong function ,convenient and flexible,hing reliablility .presented with 8051 microcontrollre control for traffic signal lights and time display method ,at the same time ,gives the hardware and softwaer design and implementation method .In the
7、 hardware circuit of the specific design of clock circuit ,an interrupt circuit signal ccirrcuit design.In the software circuit specific writing interrupt program and a software program.Traffic command automation provides a new means of cheap, has popularizing significane. Key words:Traffic Control;
8、Single Chip Microcomputer ; 8051;Intelligence目 录第1章 绪论 11.1 课题研究的背景及意义 11.2 本文主要研究工作 1第2章 道路交通灯控制系统的设计方案 22.1 系统总框架 22.2 电路的工作原理 2第3章 硬件设计 43.1系统总框图 43.2总的硬件电路图设计 4 3.2.1时钟电路设计 5 3.2.2复位电路设计 6 3.2.3 单片机最小系统 7 3.2.4 LED数码管显示电路设计 7 3.2.5 信号灯设计 9 3.2.6中断电路设计 10第4章 软件设计 124.1 软件流程图 124.2 部分函数介绍 12 4.2.1
9、 每秒钟的设定 12 4.2.2 计数器初值计算 124.3 软件延时 134.4 中断响应程序设计 144.4 程序流程图 154.5 中断程序 164.6 源程序 17结 论 21参考文献 22致 谢 24第1章 绪论1.1 课题研究的背景及意义随着经济的发展,城市现代化程度不断提高,交通需求和交通量迅速增长,城市交通网络中交通拥挤日益严重,道路运输所带来的交通拥堵、交通事故和环境污染等负面效应也日益突出,逐步成为经济和社会发展中的全球性共同问题。交通问题已经日益成为世界性的问题,城市交通事故、交通堵塞和交通污染问题愈加突出。为了解决车和路的矛盾,常用的有两种方法:一是控制需求,最直接的办
10、法就是限制车辆的增加;二是增加供给,即大量修筑道路基础设施的办法,在资源、环境矛盾越来越突出的今天,面对越来越拥挤的交通,有限的资源和财力以及环境的压力,也将受到限制。这就需要依靠除限制需求和提供道路设施之外的其他办法来满足日益增长的交通需求。在现有的道路交通条件下,实施交通控制和管理,充分发挥现有道路的通行能力正是解决这一矛盾的途径之一,大量事实已经证明这种方法的有效性。通过对城市主要十字路口交通控制规律的观察发现,我国现有交通灯控制系统的一个缺陷:当有紧急车辆通过时没有响应的措施让紧急车辆优先通过,本设计针对这一问题设计了当有紧急车辆来时优先让其通过。1.2 本文主要研究工作 为了实现对交
11、通道路的管理,力求交通管理先进性、科学化,本设计分析应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济、能够有效地疏导交通,提高交通路口的通行能力1。本设计主要做以下几方面的工作:一、对交通信号灯的研究意义和交通灯的研究现状进行分析,确定系统交通控制的总体设计,包括交通灯控制系统通常要实现自动控制等各项应有功能,增加在紧急情况下能够手动切换信号灯让紧急车辆优先通行的功能。二、基于8051单片机设计出城市智能交通灯控制系统,并进行详细说明设计总的硬件电路以及各个部分的硬件电路。三、进行软件系统的设计,尤其详细说明了定时器、中断以及延时程序的设计。第
12、2章 道路交通灯控制系统的设计方案2.1 系统总框架 本设计针对一个大型十字路口设计的交通信号灯控制系统。东西方向和南北方向各设有红灯、黄灯、绿灯各一组。指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换2。状态一南北方向上红灯亮25秒,东西方向上绿灯亮20秒,状态二东西方向上绿灯闪烁2秒再接着黄灯闪烁3秒,状态三东西方向上红灯亮25秒,东西方向上绿灯亮20秒,状态四南北方向上绿灯闪烁2秒再接着黄灯闪烁3秒。这样四个状态一直循环下去,并有数码管显示时间。除了可以实现基本交通灯功能外,亦能实现倒计时和紧急情况下的中断处理。2.2 电路的工作原理 本系
13、统共设有12个LED,其中红色的4个,绿色的4个,黄色的4个。 所有LED在该设计中采用共阴极接法4。 交通灯应满足两个方向的工作时序:东西道绿灯和黄灯亮的时间等于南北道红灯亮的时间;南北道绿灯和黄灯亮的时间等于东西道红灯亮的时间。若假设每个单位脉冲周期为1秒,则东西道绿灯、黄灯、红灯分别亮的时间为22秒、3秒、25秒,而相应的南北道红灯、绿灯、黄灯分别亮的时间为25秒、22秒、3秒。一次循环为50秒。东西方向黄灯亮时,南北方向红灯以1Hz的频率闪烁;南北方向黄灯亮时,东西方向红灯以1Hz的频率闪烁。 各个方向的信号灯亮时,需配合有时间提示,以数字显示出来,方便行人与机动车观察。信号灯亮的时间
14、均以每秒减“1”的计数方式工作,直至减到“0”后各信号灯自动转换。由软件设置交通灯的初始时间,数码管的段码用不同的口线,东西方向的是用的P0口,南北的使用P3口,用单片机来控制各种信号灯的燃亮时间,通过单片机的P2口控制5。控制电路图如下图2.1所示:图2.1 控制电路框图本系统每个信号指示灯接一个对应的I/O口,通过对I/O口赋值控制交通信号灯的状态来指挥交通。在此基础上按键可以触发单片机进入中断,进而控制交通信号灯的状态6。 第3章 硬件设计3.1系统总框图 交通灯控制系统的设计方案如下图3.1所示:3.2总的硬件电路图设计 图3.2 总硬件电路图(其中R表示红灯,Y表示黄灯,G绿灯)3.
15、2.1时钟电路设计时钟电路是单片机的心脏,它控制着单片机的工作节奏。单片机内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,利用芯片内部反相器和电阻组成的振荡电路,在XTAL1和XTAL2引脚上跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,形成单片机的时钟电路(如下图3.3所示),可稳定频率并对振荡频率有微调作用7。每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越
16、快。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。晶振的作用是为系统提供基本的时钟信号7。本设计中取晶体振荡器的频率,电容C1、C2的主要作用是帮助振荡器起振,其值的大小对振荡器的频率有微调作用,典型值为C1=C2=33pF。 图3.3 时钟电路3.2.2复位电路设计单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。51系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将
17、系统复位8(本设计中需要2us以上的高电平就能复位)。除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动。具体电路如图3.4所示: 图3.4 复位电路3.2.3 单片机最小系统 图3.5 最小系统电路图 单片机最小系统(如上图3.5所示)以8051为核心,外加时钟和复位电路,电路结构简单,抗干扰能力强,成本相对较低,非常符合本设计的所有要求。时钟电路在单片机的外部通过XTAL1、XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为12MHz的晶振,一个机器周期为1us,C1、C2为33pF9。复位电路分
18、为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效。上电自动复位通过电容C3和电阻R2来实现,按键手动复位是图中复位键来实现的10。3.2.4 LED数码管显示电路设计根据系统设计要求,东西和南北方向的信号灯时间不一样,所以就利用单片机的P0和P3口来做数码管的段码驱动,东西方向和南北方向的位线可以公共来使用,可以节约单片机的口线11。数码管可以使用共阴数码管4,数码管的每段的电流是10毫安。电路如下图3.6所示: 图3.6单片机与数码管连线图其数码管显示原理13:数码管按段数分为7段数码管和8段数码管。7段数码管是由七段条形发光二极管组成的“8”字形的LED显示
19、器,每段分别用a、b、c、d、e、f、g表示;8段数码管则是在7段的基础上再加一个圆点型发光二极管,用dp表示。由于连接方式的不同,数码管又分共阳极接法和共阴极接法,接法不同,段码值不同12。在本设计中采用共阴极接法,具体段码值确定如下表3.1所示:表3.1 采用共阴极连接显示数值dp g f e d c b a驱动代码(16进制)00 0 1 1 1 1 1 13FH10 0 0 0 0 1 1 006H20 1 0 1 1 0 1 15BH30 1 0 0 1 1 1 14FH40 1 1 0 0 1 1 066H50 1 1 0 1 1 0 06DH60 1 1 1 1 1 0 07DH
20、70 0 0 0 0 1 1 107H80 1 1 1 1 1 1 17FH90 1 1 0 1 1 1 16FH3.2.5 信号灯设计本设计利用单片机的P2口驱动和控制各种信号灯的燃亮和燃亮时间,在实际中,交通灯的信号灯需要用高电压控制,在这里我们只是模拟一下它的控制信号,所以我们就只用单片机的信号引脚直接来控制发光二极管,电路图见图3.8所示14。锁存器-74HC573八进制三态非反转透明锁存器,高性能硅门CMOS 器件。器件的输入是和标准CMOS 输出兼容的;加上拉电阻,他们能和LS/ALSTTL 输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使
21、能变低时,符合建立时间和保持时间的数据会被锁存15。管脚安排如下图3.7所示:图3.7 锁存器74HC573管脚图主要特点:1)输出能直接接到CMOS,NMOS 和TTL 接口上2)操作电压范围:2.0V-6.0V3)低输入电流:1.0uA4)CMOS 器件的高噪声抵抗特性其功能表如表3.2所示:表3.2 锁存器74HC573功能表输入输出输出使能输入锁存D QLHHHLHLLLLX不变HXXZX:不用关心Z:高阻抗 图3.8 单片机与信号灯连接图 (其中R表示红灯,Y表示黄灯,G表示绿灯)3.2.6中断电路设计16当紧急情况发生时,按下紧急按键(外部中断INT1),单片机输出紧急信号,系统进
22、入紧急状态17。中断硬件显示如下图3.9所示: 图3.9 中断硬件连接图 第4章 软件设计4.1 软件流程图4.2 部分函数介绍4.2.1 每秒钟的设定 延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软件延时的方法18。4.2.2 计数器初值计算 定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC=M-C式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为213 ;在方
23、式1时M的值为216;在方式2和3为28。 计算公式:T=(MTC)T计数 或TCMTT计数T计数是单片机时钟周期T的12倍;TC为定时初值。如单片机的主脉冲频率为T12MHz,经过12分频:方式0TMAX213*1微秒8.192毫秒方式1TMAX216*1微秒65.536毫秒显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题。4.3 软件延时 MCS-51的工作频率为212MHz。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1
24、秒的时间19。 具体的延时程序分析: DELAY: MOV R4,#08H 延时1秒子程序 DE2: LCALL DELAY1 DJNZ R4 , DE2 RETDELAY1: MOV R6,#0 延时125ms 子程序 MOV R5,#0DE1: DJNZ R5,$ DJNZ R6,DE1 RETMOV RN, #DATA 字节数数为2 机器周期数为1所以此指令的执行时间为2ms DELAY1 为一个双重循坏,循环次数为256*256=65536,所以延时时间=65536*2=131072us 约为125us。DELAY R4设置的初值为8,主延时程序循环8次,所以125us*8= 1秒。由
25、于单片机的运行速度很快其他的指令执行时间可以忽略不计。4.4 中断响应程序设计 在现实生活中,通常会有一些紧急车辆出现(例如救护车)。此时应强行中断正常的交通灯运转状态,使有紧急车辆的车行方向保持通行状态。无紧急车辆时,交通信号灯按正常时序控制。有紧急车辆来时,若紧急车通行方向为绿灯状态,则无需处理。若紧急车通行方向为红灯状态,则按下紧急通行开关使此方向维持红灯状态,另一个方向也为红灯状态。,一般情况下交通灯按照车流量大小合理分配通行时间,按一定规律变化,但考虑紧急车通行车况,设计紧急通行开关20。中断服务程序的流程图如图4.2所示。 否 是 图4.2 中断流程图交通灯的中断处理流程:(1)现
26、场保护和现场恢复:有紧急车辆要通过时要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场,包括信号灯,时间显示电路。(2)中断打开和中断关闭:按一下紧急车辆通行开关就可以打开中断,关闭紧急车辆通行开关也要关闭中断。(3)中断服务程序:有中断产生,就必然有其具体的要执行的任务,中断服务程序就是执行中断处理的具体内容:东西南北方向全是红灯。(4)中断返回:执行完中断服务程序后,必然要返回,即交通灯信号回到中断前状态,显示时间也和中断之前一样。4.4 程序流程图 图4.3 程序流程图4.5 中断程序 JJ: PUSH PSW ; 紧急车中断 PUSH ACC PUSH R6 P
27、USH TH0 ;保持中断时刻时间 PUSH TL0 ;保持中断时刻计数值 PUSH TH1 PUSH TL1 CLR TR0 CLR TR1 SETB EAMOV A,#0C3H ;东西南北全红MOVX DPTR,ALCALL DBLAYR2POP TL1POP TH1POP TL0POP TH0POP R6MOV A,R6 ;输出中断前状态MOVX DPTR,APOP ACCSETB TR0SETB TR1POP PSWRETI END4.6 源程序系统晶振是 12 MHz ORG 0000H LJMP START ORG 0003H ;INT 0 中断入口地址 LJMP INT0 ORG
28、 0040H START: MOV SP,#60H MOV TMOD,#01H ;初始化 SETB ET0MOV TH0,#3CHMOV TL0,#B0HCLR AMOV R1,ASETB EA LCALL STATUS R0 ;初始状态(都是红灯) CIRCLE: LCALL STATUS R1 ;南北绿灯,东西红灯 LCALL STATUS R2 ;南北绿灯闪转黄灯,东西红灯 LCALL STATUS R3 ;南北红灯,东西绿灯 LCALL STATUS R4 ;南北红灯,东西绿灯闪转黄灯 LJMP CIRCLE INT0: PUSH PSW ;保护现场 PUSH R2 PUSH ACC
29、MOV TH0,#3CHMOV TL0,#B0HINC R1MOV A,R1CJNE A,#14H,IN0MOV DPTR,#8300H MOV A,#0FH ;南北,东西都亮红灯 MOVX DPTR,A MOV R2,#100 ;延时10秒 LCALL DELAY POP ACC ;恢复现场 MOVX DPTR,A POP R2 POP PSW IN0:RETI STATUS R0: ;南北红灯,东西红灯 MOV DPTR,#8300H MOV A,#0FH MOVX DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY RET STATUS R1: ;南北绿灯,东西红灯
30、MOV DPTR,#8300H MOV A,#96H ;南北绿灯,东西红灯 MOVX DPTR,A MOV R2,#200 ;延时20秒 LCALL DELAY RET STATUS R2: ;南北绿灯闪转黄灯,东西红灯 MOV DPTR,#8300H MOV R3,#03H ;绿灯闪3次 FLASH: MOV A,#9FH MOVX DPTR,A MOV R2,#03H LCALL DELAY MOV A,#96H MOVX DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH MOV A,#06H ;南北黄灯,东西红灯 MOVX DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY RET STATUS R3: ;南北红灯,东西绿灯 MOV DPTR,#8300H MOV A,#69H MOVX DPTR,A MOV R2,#200 ;延时20秒
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1