1、本科毕业论文(20 届)智能交通灯控制系统设计所在学院 专业班级 通信工程 学生姓名 学号 指导教师 职称 完成日期 年 月 目 录摘要 .IIAbstract .III第一章 绪论 .11.1 交通信号灯的作用及研究意义 .11.2 传统交通灯的简介 .11.3 智能交通灯的实现功能 .21.4 基于单片机的智能交通灯控制系统设计的意义 .2第二章 硬件的选择与介绍 .32.1 AT89C52 单片机功能介绍 .32.2 数码管动态显示工作原理 .14第三章 系统软件设计 .163.1 系统流程图 .163.2 交通灯正常运行流程 .163.3 急车强通控制 .163.4 交通异常状况控制
2、.17第四章 系统硬件设计 .184.1 基于上述有关材料设计方案 .18第五章 系统仿真验证 .235.1 仿真软件 Proteus 的介绍 .235.2 仿真分析 .24总结 .30参考文献 .31致谢 .32智能交通灯控制系统摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。随着国民经济的快速发展,车辆的增多,交通拥挤和阻塞现象时常出现。交通拥塞已成为城市交通中迫切需要解决的社会问题。而我国传统使用的定周期控制和各路口各自的独立控制方法,在解决这些问题时效果并不是很好。本设计的目的在于设计出一个具有实用价值、性价比较高的智能交通灯控制系统。该
3、系统性能较好,且稳定性高。该系统中结合了数学中“模糊控制” 累积计数的原理:以美国 ATMEL 公司 AT89C52 单片机为控制芯片,采用“Proteus+Wave6000”对交通灯控制系统进行了仿真,仿真结果表明:该系统能达到预期的性能要求,证明采用软硬件结合,利用单片机设计智能交通灯的方法是可行的。关键词:ATM89C52单片机;智能交通灯控制系统;模糊控制; PROTEUS 仿真Design of Intelligent Traffic Light Controlling SystemAbstractIn recent years along with science and tech
4、nology develop fast, the application of single flat machine is moving towards thorough continuously, at the same time drive traditional control detection day the benefit of new moon update.With the rapid development of national economy, the increase in vehicles, traffic congestion and jam phenomenon
5、 often appear. Traffic congestion has become a city traffic in the urgent needs to solve social problems. And the traditional Chinese use set cycle control and the head of their respective independent control method in solving these problems, and the effectiveness is not very good. The purpose of th
6、e design is to design which is practical and high performance.Better performance of the system, and high stability. The system combines the mathematics of “fuzzy control“ principle of cumulative counts, the United States ATMEL AT89C52 microcontroller control chip company, with “Proteus + Wave6000“ o
7、n the traffic light control system for simulation, the simulation results show that: the system can achieve the desiredperformance requirements, proving that the hardware and software, use of single chip design of intelligent traffic lights is feasible.keywords: ATM89C52 SCM,Intelligent traffic ligh
8、t control system, Fuzzy control, PROTEUS simulation第一章 绪论本章首先研究此课题的作用及意义,其次是对传统交通灯的简介。再次简单的介绍智能交通基本的实现功能,最后是基于单片机的智能交通灯控制系统设计的意义,让我们对基于单片机控制交通灯有了初步的了解。1.1 交通信号灯的作用及研究意义随着社会经济的迅速发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的一个重要问题。城市交通控制系统是用于城市交通数据监测、交通信号灯控制以及交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的一部分 1。
9、交通灯的出现,能使交通得以有效的管制。为疏导交通流量、提高道路通行能力、减少交通事故有明显效果。为了实现交通道路的管理,力求交通道路管理先进性、科学化,试用可编程控制器实现交通灯管制,以便使该系统更简单化、经济化,能有效地疏导交通,提高交通路口的通行能力,交通灯的正常运行成为交通畅通的重要保证 2。1.2 传统交通灯的简介在今天,红绿灯安装于各个道口上,已经成为疏导交通车辆最常见、最有效的手段。但这一技术在 19 世纪就已出现。1858 年,在英国伦敦主要车流量大的街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行,这是世界上最早的交通信号灯。1868 年,英国机械工程师
10、纳伊特在伦敦威斯敏斯特区议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示停止,绿色表示注意。1869 年 1 月 2 日,煤气灯爆炸导致警察受伤,遂被取消。1914 年,电气启动的红绿灯出现于美国。这种交通信号灯由红绿黄三色圆形的投光器组成,安装在纽约市五号大街的一座高塔上。红灯亮表示“停止” ,绿灯亮表示“通行”。中国最早的马路交通灯诞生于 1928 年的上海英租界。从最早的手牵皮带到二十世纪五十年代的电气控制,从采用计算机控制到现代化电子定时监控,交通信号灯在科学化、自动化基础上不断地更新、发展和完善。但是随着社会的不断进步,传统的交通灯的缺陷
11、也日益出现,其中设计过于死板,达不到道路最大通行效率是最明显的问题,红绿灯交替变换时间过于程式化。随着我国经济的迅速发展,人们对各种交通车辆的需求量不断增加,城市的交通拥有的问题日益严重 3。目前,大部分城市的十字交叉路口的交通控制灯的通常做法是:事先通过车辆流量的调查,利用传统的方法设计红绿灯的延时。然而,实际上的车流量是不断变化的,许多路口在不同的时间段车流量的大小甚至有很大的差异。所以,统计的方法己不能适应不断在迅速发展的交通现状。1.3 智能交通灯的实现功能智能的交通信号灯指挥着人和各种不通车辆的安全运行,实现红、黄、绿灯的自动化指挥是城乡交通管理现代化的重要议题。在城乡街道十字交叉路
12、口,为了保证交通秩序和行人的安全,一般在每条道路上都各有一组红、黄、绿交通信号灯,其中红灯亮表示该条道路禁止通行;黄灯亮表示该条道路上未通过停车线的车辆停止通行,已经通过停车线的车辆继续通行;绿灯亮表示在该条道路上允许通行。交通灯控制电路自动控制十字交叉路口的两组红、黄、绿交通灯的状态转换,指挥各种不同车辆和行人的安全及有序通行,实现十字路口交通管理自动化。1.4 基于单片机的智能交通灯控制系统设计的意义 目前,我国国内的交通灯一般设在十字路口,用红、黄、绿三种颜色的指示灯在醒目位置标示,再加上一个倒计时的显示计时器来控制行车 4。对于一般情况下的安全行车,车辆分流尚能够发挥其作用,但对于实际
13、行车过程中出现的一些情况,还存在以下缺点:一是两车道的车辆轮流放行时间相同而且固定,在十字交叉路口,通常有一个车道为主干道,车辆较多,放行时间相对其它车道应该长一些;另一个车道为副干道,车辆较少,放行时间相对主干道应该短一些。二是没有考虑紧急车通过的时候,两车道应该采取的措施。例如,消防车执行紧急任务通过十字交叉路口时,两车道的车都应该停止,让紧急车量顺利通行。针对道路交通的拥挤,交叉路口经常出现的堵塞情况。利用单片机的控制技术,提出了软件设计和硬件设计方案以及两点改进措施:(1)根据各个道路的路口车流量大小进行自动通行时间的调节。 (2)考虑特殊车辆的通行情况,并且设计紧急切换开关。第二章
14、硬件的选择与介绍2.1 AT89C52 单片机功能介绍AT89C52是由美国ATMEL公司生产的低电压、高性能的CMOS 8位单片机。此片内含8k bytes的可反复擦写的 Flash只读程序存储器以及 256 bytes的随机存取数据存储器(RAM) ,它采用ATMEL公司的高密度、非易失性存储的技术生产,它和标准 MCS-51指令系统以及8052产品引脚兼容,内置通用的8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机适合于诸多复杂控制的应用场合。STC单片机的主要特点有以下几点:(1)抗干扰能力强。STC单片机拥有ESD保护功能,引脚可直接承受 2kV/4kV的
15、快速脉冲测试(EFT测试) ;具有宽电压供电功能,对电源的抖动不敏感;I/O口、内部供电系统、时钟电路、复位电路及看门狗电路均通过特殊的处理,抗干扰能力强。(2)对外电磁辐射强度低。STC单片机采用了3种降低单片机时钟对外电磁辐射的措施,有效地减少了对外辐射,这3种措施分为:禁止AIOE输出;将外部时钟的频率降低一半;时钟振荡器增益设置为1/2Gain。(3)超低功耗。STC单片机在掉电模式下的典型功耗小于0.1A ,空闲模式典型功耗为2mA,正常工作模式的典型功耗为4mA至7ma。使用掉电模式的时候可由外部中断唤醒,特别适用于电池的供电系统。(4)运行可靠性高;STC单片机的内部集成了810
16、专用复位电路,有效地提高了单片机的可靠性且简化了外围电路。AT89C52提供了以下标准功能:8k字节Flash闪速存储器,256字节内部RAM,32个I/O串口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器和时钟电路。同时,AT89C52可降到0Hz的静态逻辑操作,并且支持两种软件可选的节电工作模式。空闲方式下可停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存在RAM中的内容,但是振荡器停止工作并禁止其它全部部件工作直到下一个硬件复位。图 2.1 89C52 方框图P0口:P0口是一组8位漏极开路型的双向 I/O口,
17、即是地址/数据总线复用口。作为输出口使用时,每位都能吸收电流的方式驱动8个TTL 逻辑门电路,当对端口P0写入“1”时,可作为高阻抗输入端使用。在访问外部数据存储器或者程序存储器时,此组口线分时转换地址(低8位)和数据总线复用,在访问期间同时激活内部上拉电阻。在Flash编程时,P0口接收指令字节;在程序校验时,输出指令字节;在校验时,要求外接上拉电阻 5。P1口:P1口是一个带内部上拉电阻的 8位双向 I/O口,P1口的输出缓冲级可以驱动(吸收或输出电流)4个TTL逻辑门电路。当对端口写“1”时,通过内部的上拉电阻把端口拉到高电平,此时可以作为输入口。作为输入口使用时,由于内部存在上拉电阻,
18、某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可以分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX ) ,见表2.1。Flash 编程和程序校验期间,P1口接收低8位地址。表 2.1 P1.0 和 P1.1 第二功能引脚号 功能特性P1.0 T2(定时/计数器 2 外部计数脉冲输入) ,时钟输出P1.1 T2EX(定时/计数 2 捕获/重装载触发和方向控制)P2口:P2口是一个带有内部上拉电阻的 8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。当对端口 P2写“1”时,通过内部
19、的上拉电阻把端口拉到高电平,此时可以作为输入口;当作为输入口使用时,由于内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL);当在访问外部程序存储器或者16位地址的外部数据存储器(如执行MOVX DPTR指令)时,P2 口输出高8位地址数据;当在访问8位地址的外部数据存储器(如执行MOVX RI指令)时,P2口输出P2锁存器的内容。Flash编程或者校验时,P2也接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的 8位双向 I/O口,P3口输出缓冲级可以驱动(吸收或者输出电流)4个TTL逻辑门电路。当对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口,此
20、时被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了可以作为一般的I/O口线外,还有更重要的用途是它的第二功能,见表2.2所示。此外,P3口还接收许多用于Flash闪速存储器编程和程序校验的控制信号。表 2.2 P3 口第二功能用途端口引脚 第二功能P3.3 PXD(串行输入口)P3.1 XTD(串行输入口)P3.2 INTO(外中断 0)P3.3 INT1(外中断 1)P3.4 T0(定时/计数器 0)P3.5 TI(定时/计数器 1)P3.6 WR(外部数据储存器写选通)P3.7 RD(外部数据储存器读选通)RST:复位输入。当振荡器工作的时候,RST引脚会出现两个机器周期以上的
21、高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或者数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。通常情况下,ALE仍旧以时钟振荡频率的1/6 输出固定的脉冲信号,因而它可对外输出时钟或者用于定时目的。需要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。关于Flash 存储器编程期间,这个引脚还用于输入编程脉(PROG )。倘若有必要,可经过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位过后,仅有一条MOVX和MOVC 指令才能将ALE激活,此外该引脚会被微弱拉高。当单片机执行外部程序时,应当设置ALE禁止位无效
22、。PSEN:程序储存允许(PSEN )的输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此段时间,当访问外部数据存储器时,将跳过两次PSEN信号。EA/VPP:外部访问允许,若欲使CPU 仅访问外部程序存储器(地址:0000H-FFFFH),EA端必需保持低电平(接地)。需要注意的是:假如加密位LB1 被编程,复位时内部会锁存EA端的状态。假如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。对于Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必需是该器件使用12V编程电压Vpp。XTAL1:振荡器反相放大器的输入端以及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。AT89C52除了和AT89C51所有的定时/计数器0、定时 /计数器1相同外,还增加了一个定时/计数器2。定时/计数器2的控制位及状态位位于T2CON (参见表2.3)T2MOD(参见表2.4),寄存器关于(RCAO2H、 RCAP2L)是定时器2在16位捕获方式或者16位自动重装载方式下的捕获/自动重装载寄存器。