1、十字路口交通灯摘 要交通灯在我们日常生活中随处可见,它在交通系统中处于至关重要的位置。交通灯的使用大大减少了交通繁忙路口的事故发生,给行人和车辆提供一个安全的交通环境,人们的生命和财产安全有了保障。本设计介绍了采用MCS-51系列单片机AT89C52为核心器件来设计交通灯控制模拟系统,另外由时钟电路、复位电路、倒计时显示电路、按键切换电路、交通灯电路组成。本系统安装在人流和车流量比较大十字交叉路口,通过控制红绿灯的亮灭来指挥交通道路上车辆和行人的通行停止,从而实现对繁忙交通道路的疏导。本系统设计成本低,开发周期短、实用性强、操作简单、维护方便、扩展性强关键词:单片机,交通灯,LED显示器,II
2、目录第1章 设计背景1第2章 设计方案的论证和比较2第3章 交通灯系统设计33.1总体设计33.2 交通灯系统硬件设计33.2.1单片机选取33.2.2倒计时显示电路73.2.3交通灯电路设计83.2.4按键控制电路设计9心得体会10 第1章 设计背景交通灯的研究具有非常重要的意义,交通问题是我国社会经济发展的一个大问题,尤其随着国家优良政策的不断实施,国家经济发展也越发迅猛。我国是个人口大国,生活密度比较大,尤其在大中城市,交通拥挤的现状日益影响了社会发展的脚步,交通是否发达是衡量一个城市发展水平与投资环境的重要指标。随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的
3、协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。随着城市机动车量的不断增加,许多大城市如北京、上海、南京等出现了交通超负荷运行的情况。由于交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,往往耗费巨大,实施困难。所以,如何采用合适的控制方法,最大限度利用好现
4、有硬件设施,解决交通拥堵,越来越成为交通运输管理和城市规划部门亟待解决的问题。解决交通问题在综合考虑到经济环境等问题后,提高交通控制系统的效率成为必由之路,这也是当代交通灯系统发展的总体趋势。1第2章 设计方案的论证和比较 交通灯的设计可用三种方案完成,可分别利用可编程逻辑控制器(PLC)、单片机或数字电路来实现。方案一:可编程逻辑控制器(PLC)应用广泛,它能够非常方便地集成到工业控制系统中。其速度快,体积小,可靠性和精度都较好,在设计交通灯中可采用PLC 对硬件进行控制,但是用PLC实现价格相对昂贵,因而成本过高。方案二:单片机构成的应用系统有较大的可靠性。系统扩展、系统配置较典型、规范容
5、易构成各种规模的应用系统,应用系统有较高的软、硬件利用系数。单片机具有可编程性,硬件的功能描述可完全在软件上实现,而且设计时间短,成本低,可靠性高。方案三:利用纯数字电路。虽然辟免了编程的麻烦,但电路复杂,所用器件较多。经过以上几种方案的分析、比较和总结,我们得出用方案二体现出了它的具体的优势:a) 制作简单,不容易出错,控制精度高、安全系数高。b) 具有良好的电路行为描述和系统描述的能力。c) 价格成本适中。d) 语言使用汇编语言,可读性强。综上所述,本设计采用方案二。10第3章 交通灯系统设计3.1总体设计交通灯功能是通过红绿灯的亮灭来指挥车辆与行人的行与停从而达到指挥交通的目的,交通灯需
6、要提醒路人和车辆可穿行的剩余时间,同时在东西和南北车流量不相同时,在室内的交通管理员可以根据当时情况调整东西直行,南北直行,东西转向,南北转向的时间,以此来疏导交通。故交通灯系统可由如下模块构成,LED红绿灯显示模块,7段数码管倒计时显示模块,按键切换模块。如图 3-1所示图3-1 交通灯系统总体框图3.2 交通灯系统硬件设计现将各个模块中所需要的元器件一一列出。3.2.1单片机选取本设计选用AT89C52单片机,AT89C52是一种低功耗、高性能CMOS8位微控制器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT
7、89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6位向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器计数器、串口、中断继续工作。鉴于以上的优点本系统采用AT89S52作为主控芯片,实现对整个系统的控制。其外部引脚图如图3-2.图3-2 单片机外部管脚图VCC:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P0口的管脚第一次写“1”
8、时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,
9、且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为AT89C51的一些特
10、殊功能口,管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(计时器0外部输入)P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的/P
11、SEN信号将不出现。/EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。时钟电路设计时钟电路设计采用内部时钟产生方式,在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击震荡。其发出的时钟脉冲直接送入片内定时控制部件。如图3-3所示。图3-3 单片机时钟电路复
12、位电路设计复位电路采用上电+按钮电平复位方式,当按下按钮时,RST管脚高电平触发。为保证复位可靠,RC时间常数应大于两个机器周期,电容取10uf,电阻取1000欧。如图3-4所示。图3-4 复位电路3.2.2倒计时显示电路数码管采用7SEG-MPX2-CC共阴极数码管,如图3-5。图3-5 数码管G、F、E、D、C、B、A七个端口是输入端口,对其各位进行赋值,置位则亮,复位则灭,用此来显示出相应的数字;1、2两端口用来控制高位和低位的选通显示,只要对端口置位,便可以选择该端口,并对其所代表的位进行赋值,显示。数码管驱动采用芯片74LS245,74LS245是我们常用的芯片,用来驱动led或者其
13、他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。引脚图如图3-6所示。3-6 74LS245外部管脚图当89C52单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据
14、线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1D1),其它时间处于输出(P0.1D1)。3.2.3交通灯电路设计交通灯状态显示电路由东西南北四个方向各三个LED灯组成,分别显示四个方向上红、黄、绿三个状态,用以指示十字路口各方向车辆的行驶。通过软件编程,可使路口交通变化情况为:南北方向和东西方向两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒。在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;黄灯亮时每秒闪亮一次。其连接图如图3-7所示。3-7交通灯电路连接图3.2.4按键控制电路设计开关控制由7个连接到单片机的控制
15、按钮组成。通过软件编程,使得各个开关的功能基本满足了交通灯的需要。如图3-8所示。3-8按键切换电路 心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且
16、学到了很多在书本上所没有学到过的知识。例如我们在设计数码管显示的时候,刚开始的时候,由于对数码管引脚的不熟悉,我们都无法让数字显示,后来发现时十位和个位的置位、复位发生了问题,我们对此进行了修改,可以正确的显示出十位及个位的数值,但是数字的显示不稳定,不停的跳动,我们为此查阅了很多的资料,但还是未能解决,最后我们不停地对程序进行修改,终于发现了问题所在,在显示子程序上存在缺陷未能快速的切换对十位、个位的置位和复位,经过这样的修改,终于可以完美的显示时间了。我们也更好地掌握了对数码管的使用,这都是课堂上学不到的知识。 通过这次课程设计使我更加懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正将一个东西学好学透,从而提高自己的实际动手能力和独立思考的能力。我想这对于我今后的学习生活和工作都会是有很大帮助的!