基于单片机的交通信号灯控制系统设计.doc

上传人:可****阿 文档编号:30617550 上传时间:2022-08-06 格式:DOC 页数:40 大小:945.54KB
返回 下载 相关 举报
基于单片机的交通信号灯控制系统设计.doc_第1页
第1页 / 共40页
基于单片机的交通信号灯控制系统设计.doc_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《基于单片机的交通信号灯控制系统设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的交通信号灯控制系统设计.doc(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、重庆大学网络教育学院 毕业设计论文题目 基于单片机的交通信号灯控制系统设计学生所在校外学习中心 四川达州校外学习中心 批次 层次 专业 092 专科起点本科 电气工程及其自动化学 号 W09205801 学 生 邓军 指 导 教 师 黄艳 起 止 日 期 2011年9月 1 日起至2011年 11 月30日止摘 要随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的电脑综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。随着当今社会的迅速发展,汽车的

2、销售量有了很大的提高。大量汽车的出售,给我们的生活带了很大的便利。但是,它也给城市的交通提出了更加严峻的考验。在这种情况下,我们除了要修建更加好的道路外,还需要设计出更多更好的交通信号灯控制系统。 在现代,利用单片机来实现交通信号灯的控制成了我们调控交通的主流。运用单片机控制交通信号灯方便,性能高,易于控制。所以,我们很必要对这一课题进行一次系统的研究学习。在本次毕业设计中,我的主要设计任务是在一个十字路口设计一个交通信号灯,并用单片机进行合理的控制。本系统由AT89C51单片机、键盘、LED显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通信号灯的功能。系统除基本交通信号灯

3、功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。关键词:单片机,交通信号灯学习文档 仅供参考目录中文摘要1. 引言12. 设计任务及思路13. 单片机3 单片机简介33.2 单片机基本结构 3 3.3 单片机硬件特性 34. 芯片的选择44.1 74LS373以及74LS07芯片简介44.2 8255芯片5 8255可编程并行接口芯片简介5 8255可编程并行接口芯片方式控制字格式说明54.3 晶闸管75. 交通灯控制原理分析及方案论证86. 系统硬件设计96.1 总体设计96.2 单片机最小系统9 振荡电路9 复位电路106.3 显示及

4、其驱动模块11 键盘与状态显示功能11 倒计时计数功能117. 系统软件设计127.1 延时程序设计12 计数器硬件延时12 软件延时137.2 时间及信号灯的显示14 8031并行口的扩展14 显示原理15 8255输出信号的放大15 8255输出信号与信号灯的连接15 8255与8031的连接167.3 程序设计16 流程图16 源程序代码197.4 调试运行23设计总结24参考文献25致谢26附录127附录228学习文档 仅供参考1引言当今,交通信号灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段,这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光

5、源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,造成人员伤亡,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年开始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,另一种是用扩音器来启动红绿灯。信号灯的出

6、现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。基于单片机构成的城市交通信号灯控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。但利用单片机控制交通信号灯

7、涉及到一些现实问题,诸如信号的驱动、车辆到达的感知等。为此,我们采用模拟方式进行说明。所谓模拟,就是用绿、黄、红色三只共四组发光二极管代替交通信号灯。目前,城市交通信号灯控制系统应用广泛,因此,开发这种系统非常实用。2设计任务及思路设计一个能够控制十二盏交通信号灯的模拟系统。通过交通信号灯控制系统的设计。学习文档 仅供参考学习文档 仅供参考系统工作受开关控制,起动开关 ON 则系统工作;起动开关 OFF 则系统停止工作。控制对象如下:东西方向红灯两个 , 南北方向红灯两个,东西方向黄灯两个 , 南北方向黄灯两个,东西方向绿灯两个 , 南北方向绿灯两个,图1 交通信号示意十字路口东西方向和南北方

8、向各装有直行包括右拐弯控制红、黄、绿交通信号灯如图1所示。还有倒计时显示器,显示器用于显示相应方向直行控制当前点亮信号灯还要持续的时间即剩余时间。系统中有两个按钮启动和停止,启动按钮按下后信号灯系统开始工作,并周而复始地循环;停止按钮按下,所有信号灯都熄灭。信号灯的控制规律如表1所示。即系统启动后,东西方向先绿灯亮25s,然后绿灯闪烁3s,最后黄灯亮2s,与此同时南北方向红灯亮30s。南北方向红灯亮30s后转为先绿灯亮25s,然后绿灯闪烁3s,最后黄灯亮2s,东西向红灯亮30s。由此周而复始地循环。要求采用单片机实现交通灯的控制规律。表1 信号灯控制规律东西方向信号绿灯亮绿灯闪烁黄灯亮红灯亮时

9、间25s3s2s30s南北方向信号红灯亮绿灯亮绿灯闪烁黄灯亮时间30s25s3s2s设计电路中使用到的主要元器件,单片机芯片、8255芯片和晶闸管。十字路口分四条道,每条道有三个红绿灯,共十二个。每个红绿灯由一块8031芯片单独控制,我们只设计一个红绿灯的燃亮情况,同理根据燃亮顺序设计其它红绿灯。然后再组合起来,到达设计要求。3单片机单片机是一种集成电路芯片,简称为单片微型电脑。是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU,随机存储器RAM,只读存储器ROM,多种I0口和中断系统,定时器,计时器等功能,集成在一块硅片上构成的一个小而完善的电脑系统。3.2单片机基本结构单片机由

10、运算器,控制器,存储器,输入输出设备组成。3.3单片机硬件特性1单片机集成度很高,单片机包括CPU、4KB容量的ROM(8031无)、128B容量的RAM、2个16定时计时器、4个8位并行口、全双工串口行口。2单片机系统结构简单,使用方便,实现了模块化。3单片机可靠性能好,可工作很长时间。4处理功能强,速度快4芯片的选择4.1 74LS373以及74LS07简介74LS373 是一种带三态门的8D锁存器,其管脚示意图2如下所示:图2 74LS373管脚示意图其中:1D-8D为8个输入端。1Q-8Q为8个输出端。LE为数据打入端:当LE为“1”时,锁存器输出状态同输入状态;当LE由“1”变“0”

11、时,数据打入锁存器OE为输出允许端;当OE=0时,三态门打开;当OE=1时,三态门关闭,输出高阻。六驱动器(OC高压输出) 74LS07 Vcc6A6Y5A5Y4A4 1413121110 9 8Y = A 1 2 3 4 5 6 7 7805实现正电压输出,负电压截止。4.2 8255芯片4.2.1 8255可编程并行接口芯片简介8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7PA0、PB7PB0和PC7PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个

12、端口包含一个4位锁存器。它们分别与端口AB配合使用,可以用作控制信号输出或作为状态信号输入。8255的内部组成框图如图3所示:图3 8255内部组成框图4.2.2 8255可编程并行接口芯片方式控制字格式说明8255有两种控制命令字:一个是方式选择控制字;另一个是C口按位置位复位控制字。其中C口按位置位复位控制字方式使用较为繁难,说明也较冗长,故在此不作表达。方式控制字格式说明如图4所示:图4 8255方式控制字方式0:基本输入输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。方式0适合于两种情况:一种是无条件传送,另一种是查询方式传送。方式1:

13、选通输入输出方式。这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。方式2 :双向选通输入/输出方式。只有A口具备双向选通输入/输出方式,8位外设线用作输入或输出。4.3 晶闸管晶闸管Thyristor是晶体闸流管的简称,又可称做可控硅整流器,以前被简称为可控硅;晶闸管是PNPN四层半导体结构,它有三个极:阳极,阴极和门极;晶闸管工作条件为:加正向电压且门极有触发电流;其派生器件有:快速晶闸管,双向晶闸管,逆导晶闸管,光控晶闸管等。它是一种大功率开关型半导体器件,在电路P1N1P2N2GKA中用文字符号“VT”表示;图AGIc0PNPREKNPN

14、IaIc1IgIc2Ik5为晶闸管的结构图;图6为晶闸管的电路图; 图5 晶闸管的结构图 图6 为晶闸管的电路图 晶闸管VT在工作过程中,它的阳极A和阴极K与电源和负载连接,组成晶闸管的主电路,晶闸管的门极G和阴极K与控制晶闸管的装置连接,组成晶闸管的控制电路。晶闸管的工作条件: 1. 晶闸管承受反向阳极电压时,不管门极承受何种电压,晶闸管都处于关断状态。2. 晶闸管承受正向阳极电压时,仅在门极承受正向电压的情况下晶闸管才导通。3. 晶闸管在导通情况下,只要有一定的正向阳极电压,不管门极电压如何,晶闸管保持导通,即晶闸管导通后,门极失去作用。在电路中我们使用的晶闸管来控制红绿灯的亮灭。如图7所

15、示:图7 晶闸管控制电路5交通灯控制原理分析与方案论证本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最正确方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。系统总体设计框图如图8所示:单片机最小系统倒计时交通灯键盘与状态显示图8 系统总体设计1电源提供方案为使模块稳定工作,须有可靠电源。本次设计考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用

16、单片机控制模块提供电源。该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择第二种方案。2显示界面方案该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案:方案一:完全采用点阵式LED显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。方案二:完全采用数码管显示。这种方案优点是实现简单,可以完成倒计时功能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。3输入方案这里同样讨论了两种方案:方案一:采用8155扩展I/O口、键盘及显示等。该

17、方案的优点是使用灵活可编程,并且有RAM及计数器。假设用该方案,可提供较多I/O口,但操作起来稍显复杂。方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比较多,我们使用六个按键,分别是P16、P17、P27、P30、P32、P33,依次完成倒计时加1、倒计时减1、调完确认、调时方向切换、南北强行和东西强行等功能。由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或

18、易选购性;软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。总体设计本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。 键盘及状态显示,开关键盘输入交通灯初始时间,通过单片机P1输入到系统。系统采用双数码管倒计时计数功能,最大显示数字99。友好的人机界面、灵活的控制方式、优化的物理结构是本设计的亮点。 单片机最小系统 振荡电路AT89C51是内部具有振荡电路的单片机,只需在

19、18脚和19脚之间接上石英晶体,给单片机加工作所需直流电源,振荡器就开始振荡起来。振荡电路就为单片机工作提供了所需要的时钟脉冲信号,是单片机的内部电路、单片机的内部程序假设有开始工作。振荡电路不工作,整个单片机电路都不能正常工作。AT89C51常外接6MHz、12MHz的石英晶体,18脚和19脚分别对地接了一个20pF的电容,目的是防止单片机自激。假设从18脚输入外部时钟脉冲,则19脚接地。 复位电路复位电路就是在RST端9脚外接的一个电路,目的是使单片机上的电开始工作时,内部电路从初始状态开始工作,或者在工作中人为让单片机重新从初始状态开始工作。在时钟工作的情况下,只要复位引脚高电平保持在两

20、个机器周期以上的时间,AT89C51便能完成系统重置的各项工作,使得内部特殊功能寄存器的内容均被设置成已知状态,并且从地址0000H处读入程序代码而执行程序。单片机最小系统电路如图9所示:图9 单片机最小系统电路 显示及其驱动模块 键盘与状态显示功能键盘在本设计中用于紧急情况的手动控制装置,以及定时时间的设置等功能,起到了不可缺少的重要作用。当定时器定时为1秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回定时子程序定时1秒,在显示黄灯的下一个时间,这样依次把所有的时间显示完后在重新给时间计数器赋初值,重新进入循环。键盘电路如图10所示:图1

21、0 键盘电路 倒计时计数功能本系统使用数码管完成倒计时显示功能。以南北方向为例,数码管显示的数值从绿灯的设置时间最大值往下减,每秒钟减1,一直减到1。然后又从红灯的设置时间最大值往下减,一直减到1。接下来又显示绿灯时间,如此循环。系统共有4个两位的LED数码管,分别放置在模拟交通灯控制板上的四个路口。各个方向的数码管个位把数码管第二位定义为个位,第一位定义为十位用一根信号线控制,十位用另一根信号线控制。这里采用动态显示。LED数码管如图11所示:图11 LED数码管7系统软件设计延时方法可以有两种一种是利用MCS-51内部定时器产生溢出中断来确定延时的时间,另一种是采用软延时的方法。下面给出延

22、时1秒的实现方法。计数器硬件延时 计数器初值计算定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC=M-C式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3的M值为28。 计算公式 T=MTCT计数或TCMTT计数T计数是单片机时钟周期TCLK的12倍;TC为定时初值如单片机的主脉冲频率为TCLK=12MHZ,经过12分频方式0TMAX213 方式1TMAX216

23、方式2、3 TMAX= 28 *1微秒=256微秒显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的方法和级联的方式解决这么个问题。设置秒延时我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒。这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到,可以返回到输出时间显示程序。相应程序代码 主程序定时器需定时50毫秒,故T0工作于方式1。初值:TCMTT计数21650ms/1us=15536=3CBOH ORG 1000H START: MOV

24、TMOD, #01H ;令T0为定时器方式1 MOV TH0, #3CH ;装入定时器初值 MOV TL0, #BOH MOV IE,#82H ;开T0中断 SEBT TR0;启动T0计数器 MOV RO,#14H ;软件计数器赋初值LOOP:SJMP $;等待中断 中断服务子程序 ORG000BH AJMPBRTO ORG2000H BRTO:DJNZ R0,NEXTAJMP TIME ;跳转到时间及信号灯显示子程序 MOVR0,#14H ;恢复R0值 MOV TH0,#3CH ;重装入定时器初值 MOV TL0,#BOH MOV IE,#82H RETIEND软件延时MCS-51的工作频率

25、为2-12MHZ,我们选用的8031单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*1/6M=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。具体的延时程序分析:DELAY: MOV R4,#08H ;延时1秒子程序DE2: LCALL DELAY1 DJNZ R4,DE2 RETDELAY1: MOV R6,#0 ; 延时125ms 子程序 MOV R5,#0DE1: DJNZ R5,$ DJNZ R6,DE1 RET MOV RN,#DATA ;字节数数为2, 机器周期数为1DELAY1为一个

26、延时125mS子程序的双重循环,循环次数256*256=65536 所以延时时间为65536*2=131072us 约为125ms。 R4设置的初值为8时,主延时程序循环8次,所以125ms*8= 1秒。由于单片机的运行速度很快其他的指令执行时间可以忽略不计。7.2.1 8031并行口的扩展 8031虽然有4个8位I/O端口,但真正能提供借用的只有P1口,因为P2和P0口通常用于传送外部传送地址和数据,P3口也有它的第二功能。因此,8031通常需要扩展。由于我们向外输出时间时,时间的个位、十位、信号灯的显示都要用到一个I/O端口,显然8031的端口是不够,需要扩展。扩展的方法有两种:1借用外部

27、RAM地址来扩展I/O端口;2采用I/O接口芯片来扩充。我们也可以用8255并行接口芯片来扩展I/O端口。显示原理当定时器定时为1秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。 7.2.3 8255输出信号的放大要使行人能看见信号灯的情况,必须把8255输出的信号进行放大,这里我们用VT双向晶闸管,当门极为高电平时晶闸管导通,该支路指示灯亮;当门极为低电平时关断,该支路指示灯灭。我们用连接7段数码管的方法来连接晶闸管。

28、 7.2.4 8255输出信号与信号灯的连接 LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形如 dp,g,f,e,d,c,b,a 管角上加上7FH所以SP上为0伏,不亮其余为TTL高电平,全亮则显示为8。采用共阴级连接:其中 PA0PB0-a,PA1PB1-b, PA2PB2-c,PA3PB3-d,PA4PB4-e, PA5PB5-f,PA6PB6-gPA7PB7 -SP接地 驱动代码表显示数值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 15

29、BH30 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 07DH70 0 0 0 0 1 1 107H80 1 1 1 1 1 1 17FH 7.2.5 8255与8031的连接用8031的P0 口的 P0.7 连接8255的片选信号CS。我们用8031的地址采用全译码方式,当P0.7 =0时片选有效,其他无效,P0.1用于选择8255端口。A7 A6 A5 A4 A3 A2 A1 A01 X X X X X 0 0 00H为8255 的PA口1 X X X X X 0 1 01H 为8255的PB口1

30、 X X X X X 1 0 02H 为8255的PC口1 X X X X X 1 1 03H 为8255的控制口由于8031是分时对8255和储存器进行访问,所以8031的P0口不会发生冲突。流程图 按键流程图如图12所示: 图12 按键流程图程序流程图如图13所示:初始化开始黄灯燃亮状态红灯燃亮状态R5=0?绿灯燃亮状态R6=0?NNNYYY 有键盘事件?处理键盘事件YN R4=0? 图13 程序流程图 源程序代码R4 存放黄灯时间 3 03H 时间可以动态设定R5 存放红灯时间 20 14HR6 存放绿灯时间 30 1EHPC0 显示黄灯信号PC1 显示红灯信号PC2 显示黄灯信号 工作于方式0 8255 PA、PB、PC口输出控制字为10000000B 80H程序代码:ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV R1,#03H ;初始化8255 MOV A,#80H MOVX R1,A MOV R4,#03 ; 存放黄灯时间 MOV R5,#20 ;存放红灯时间 MOV R6,#30 ; 存放绿灯时间START: LCALL KEY_INLCALL DISP_Y LCALL DISP_R LCALL DISP_Y LCALL DISP_G LCALL DISP_Y MOV A,R5 ;保存R5中的时间

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁