交通灯控制系统的设计交通灯控制系统的设计1.1设计概述1.2设计要求1.3系统设计1.4硬件设计1.5软件设计1.6系统仿真及调试1.1设计概述随着微控技术的口益完善和发展,单片机的应用不断走向深入。它的应用必定导致传统的控制技术从根本上发生变革。它在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到广泛的应用,极大地提高了这些领域的技术水平和自动化控制。同时,伴随着我国经济的高速发展,私家车、公交车的增加,无疑会给我国的道路交通系统带来沉重的压力,很多大城市都不同程度地受到交通堵塞问题的困扰。下面以AT89C51单片机为核心,设计出以人性化、智能化为目的的交通灯控制系统。本项目主要从单片机应用上来实现十字路口交通灯智能化的管理,用来控制过往车辆的正常化运作。1.2设计要求设计一个模拟交通灯控制系统:(1)红灯和绿灯停留的时间为一分钟即60秒钟,黄灯停留的时间是5秒钟;(2)系统包括人行道,左转,右转,以及基本的交通灯的功能;(3)系统除基本的交通灯功能外,还具有倒计时,时间设置,紧急情况处理,分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。1.3系统设计交通灯控制系统主要控制A,B两车道的交通,以AT89C51单片机为核心芯片,通过控制三色LED灯的亮灭来控制各车道的通行;另外通过4个按键来模拟各车道有无车辆的情况和有紧急车辆的情况。1.3系统设计框图设计基于AT89C51单片机的交通信号控制系统由电源电路、单片机主控电路、按键控制电路、时钟电路、复位电路和数码管显示电路几部分组成,框图所示。系统原理单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,指挥交通的具体通行。当然,接入LED数码管就可以显示倒计时,以提醒行使者,更具人性化。据此,本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块等产生输入,信号灯状态模块、LED倒计时模块接受输出。系统的总体框图如上图所示。系统进入正常工作状态,执行交通灯状态显示控制,同时将倒计时数据输入到LED数码管上实时显示。在此过程中还要实时检测按键信号,以达到对异常状态进行实时控制的目的。系统原理(1)单片机控制模块:单片机将计算机的基本部件微型化并集成到一块芯片上,具有优异的性能价格比,控制功能强,这将使各模块功能的实现变得简单方便。本系统中,51单片机的P2口控制数码管的段选,P1.4;P1.5;P1.6;P1.7控制位选,P0.0;P0.1;P0.2;P0.3;P0.4;P0.5口控制信号灯的点亮;P1.0P1.1;P1.2;P1.3口接键盘开关,可设置适应当前状况的通行时间和暂缓通行时间。(2)信号灯显示模块:利用发光二极管代替交通信号灯,通过单片机控制使其按要求点亮。(3)倒计时显示模块:此模块有两种方案。第一种是采用数码管显示。该方案实现简单,但只能显示有限的符号和数码字符。第二种是采用点阵式LED显示。该方案实现复杂,须完成大量的软件工作,但功能强大,可方便的显示各种英文字符、汉字和图形。由于本控制系统只需显示倒计时时间,利用数码管即可完成此功能,因此本控制系统中利用2位一体的共阴数码管显示道路两个方向的通行时间和暂缓通行时间,通过单片机控制进行倒计时显示。(4)键盘设置模块:在交通道路突发情况时,可通过按键手动设置通行时间和暂缓通行时间,通过单片机控制进行时间设置。此模块有两种方案:第一种是采用扩展I/O口及键盘、信号灯显示等。该方案使用灵活,可提供较多I/O口,但操作复杂。另一种是直接在I/O口线上接上按键开关。该方案设计精简,但提供的I/O口数量有限。由于本控制系统对于交通灯及数码管的控制只用单片机本身的I/O口就可实现,故选择第二种方案。1.3系统设计通行状况1.3系统设计通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:(1)南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时60秒。此状态下,东西向禁止通行,南北向允许通行。(2)南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时5秒。此状下,除了已经正在通行中的其他所以车辆都需等待状态转换。(3)东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时60秒。此状态下,东西向允许通行,南北向禁止通行。(4)东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时5秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。1.4硬件设计(1)STC89C51芯片(2)晶振电路(3)复位电路(4)按键电路(5)LED灯电路(6)数码管显示电路STC89C51芯片STC89C51是宏晶科技的STC89系列单片机。STC89系列单片机也是MCS-51系列单片机的派生产品,近几年受到市场的追捧。DIP—40封装系列与标准80C51完全兼容。STC89系列的ISP功能可通过232接口和PC的串口连接,在线下载程序。它的开发手段简单,无需仿真器。这一特性避开了以往学习单片机时对仿真器的依赖,极大的简化了学习和开发手段。故本设计采用STC89C51单片机。STC89C51芯片引脚晶振电路首先介绍一下单片机的晶振电路,即时钟电路。单片机的工作流程,就是在系统时钟的作用下,一条一条地执行存储器中的程序。单片机的时钟电路由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。单片机系统常用的晶振频率有6MHz、11.0592MHz、12MHz、本系统采用12MHz振,电容选30pF。晶振电路复位电路系统刚上电时,单片机内部的程序还没有开始执行,需要一段准备时间,也就是复位时间。一个稳定的单片机系统必须设计复位电路。当程序跑飞或死机时,也需要进行系统复位。复位电路有很多种,有上电复位,手动复位等。按键电路本设计设置了有4个键:(1)、S1键设置按键。(2)、S2键为增加时间按键。(3)、S3键为减少时间按键。(4)、S4键为模式切换按键。按键电路南北每次通行时间设为60秒、东西每次通行间为60秒,时间按S1可设置修改。按S1一次进入调东西通行时间,再按一次S1进入调南北通行时间。再按一次S1退出设定;通行时间模式,进入设定通行时间模式后按S2加1,按S3减1。再正常模式下按S4进入南北优先通行模式,再按一下S4进入东西南北禁止通行模式,再按一下S4进入夜间模式。再按一下S4进入东西优先通行模式。在正常模式下按下复位按键,恢复为正常状态。LED灯电路根据本设计的特点,红绿黄灯的显示不可少,红绿黄灯的显示采用普通的发光二极管。每个方向上设置红绿黄灯,总共4组。如果东西红灯亮,那南北方向就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的,在本设计中,实际控制的灯有12个,即:东西红灯,东西绿灯,东西黄灯,南北红灯,南北绿灯,南北黄灯,均是高电平有效,如图所示。LED灯电路数码管显示电路本系统使用数码管完成倒计时显示功能。以南北方向为例,数码管显示的数值从绿灯的设置时间最大值开始往下减,每秒钟减1,最后减到0.然后又从红灯的设置时间最大值往下减,一直见到0,接着显示黄灯的设置时间,一直减到0,然后一直循环下去。系统共有8个数码管,每2个分别放置在模拟交通灯上方,道路口剩余通行时间采用红色七段共阴数码管显示。本系统中,51单片机的P1.4;P1.5;P1.6;P1.7控制位选,本系统中,P2口控制数码管的段选。图1.2基于AT89C51单片机的交通信号模拟控制系统电路图电路工作原理(1)开关键输入交通灯初始时间,通过89C51单片机P1输入到系统(2)由89C51单片机的定时器每秒钟通过P0口向数据口送信息,由单片机的P0口显示红、绿、黄灯的燃亮情况;由P2口显示每个灯的燃亮时间。(3)89C51通过设置各个信号等的燃亮时间,绿、红时间为60秒、黄灯为5秒循环由P0口向数码管输出。(4)通过单片机的P3.0位来控制系统是工作或设置初值,当为0就对系统进行初始化,为1系统就开始工作。元件清单软件设计总体流程图1.6系统仿真及调试基于AT89C51单片机的交通信号灯控制系统仿真过程参考附录C。交通信号与控制状态仿真结果。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试过程中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则无从谈起。硬件的调试主要是把电路各种参数调整到符合设计要求。先排除硬件电路故障,包括设计性错误和公益性故障。一般原则是先静态后动态。1.6系统仿真及调试利用万用表或逻辑测试仪器,检查电路中的各器件以及引脚是否连接正确,是否有短路故障。先要将单片机AT89S51芯片取下,对电路板进行通电检查,通过观察看是否有异常,然后用万用表测试各电源电压,这些都没有问题后,接上仿真机进行联机调试观察各接口线路是否正常。单片机AT89S51是系统的核心,利用万用表检测单片机电源Vcc是否为(40脚)+5V、晶振是否正常工作(可用示波器测试,也可以用万用表检测,两引脚电压一般为1.8~2.3V)、复位引脚RST(复位时为高电平,单片机工作时为低电平)、EA是否为+5V(高电平),这样一来单片机就能工作了,再结合电路图,检测故障就很容易了。电路仿真图实物图正常工作模式南北方向紧急通行模式东西方向紧急通行模式夜间模式南北禁止,东西禁止