当前位置:文档之家› 基于单片机的交通灯

基于单片机的交通灯

毕业设计说明书基于单片机的交通灯控制系统设计专业 电气工程及其自动化学生姓名郭恒 燕 班级 BD 电气042 学号0420610228 指导教师 张 兰 红 完成日期2008年6月10日基于单片机的交通灯控制系统设计摘要:对基于单片机的交通灯控制系统进行了设计。

系统功能为:以MCS-51系列单片机作为控制核心,设计并制作交通灯控制系统,东西南北四个方向具有左拐、右拐、直行及行人4种通行指示灯,用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。

在对系统功能分析的基础上,提出了三种设计方案,经比较,选择性能较优的LED动态循环显示方案进行了设计。

设计包括硬件和软件两大部分。

硬件部分包括单片机最小系统、时间显示、交通灯显示三部分。

选用Atmel公司的AT89S52单片机作为控制核心,东西南北四个方向设置了LED时间显示和交通灯显示,时间显示采用三位LED显示器,交通灯显示则采用红绿双色高亮发光二极管来模拟。

软件采用了模块化的设计方法,主要分为主程序、定时器中断服务子程序、倒计时显示子程序、交通灯模拟显示子程序四部分。

在实验板上制作了基于单片机的交通灯控制系统样机,对硬件和软件部分分别进行了调试,再进行了软硬件联调,得到的交通灯控制系统样机实物,可圆满地完成毕业设计任务书所要求的功能。

关键词: 交通灯;单片机;AT89S52基于单片机的交通灯控制系统设计1 概述1.1 课题研究背景与意义随着经济的增长和人口的增加,人们生活方式不断变化,人们对交通的需求不断增加。

城市中交通拥挤、堵塞现象日趋严重,由此造成巨大的经济与时间损失。

资料显示,对日本东京268个主要交叉路口的调查估计表明:每年在交叉路口的时间延误,折成经济报失为20亿美元;而在我国北京市,当早晚交通高峰时,交叉路口处的排队长度竟达1000多米,有的阻车车队从一个交叉路口延伸到另一个交叉路口,这时一辆车为通过一交叉路口,往往需要半个小时以上,时间损失相当可观。

我国是一个历史悠久、人口众多的国家,城市数量随着社会的发展不断增多。

随着城市化进程的大大加快,诱发的交通需求急剧增长,供需矛盾不断激化,严重的交通问题也随之而来。

人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。

城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊,这一切要归功于城市交通控制系统中的交通灯控制系统。

交通灯控制系统对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果,使城市交通得以有效管理。

交通灯可以采用PLC、单片机等控制方法。

利用单片机实现对交通信号灯的实时控制,只要采用一块单片机,加上简单的接口与驱动放大电路,即可实现,具有成本低,可靠性高的特点。

1.2 课题设计内容本课题对基于单片机的交通灯控制系统进行设计。

以MCS-51系列单片机为控制核心,设计并制作交通灯控制系统,用于十字路口的车辆及行人的交通管理。

东西南北四个路口具有左拐、右拐、直行及行人4种通行指示灯,并分别用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。

设计交通灯控制系统硬件电路与软件控制程序,对硬件电路与软件程序分别进行调试,并进行软硬件联调,要求获得调试成功的实物。

2 系统设计2.1 设计方案论证根据设计内容要求,提出了如下三种方案:方案一:采用AT89S52单片机作为控制核心,采用四组高亮红绿双色二极管作图2-1 方案一:采用LED 动态扫描的交通灯控制系统方案二:采用AT89C2051单片机作为控制器,通行倒计时显示采用16×16点阵LED 发光管,左拐、右拐、直行及行人4种通行指示也采用16×16点阵双色LED 发光管。

方案二设计框图如图2-2所示,LED 点阵的列驱动采用74LS595,用串行端口扩展实现,行驱动采用1/16译码器74LS154动态扫描,译码器74LS154生成16条行选通信号线,再经过驱动器驱动对应的行线。

每条行线上需要较大的驱动电流,应选用大功率三极管作为驱动管。

图2-2 方案二:采用16×16点阵LED 发光管设计的交通灯控制系统方案三:采用AT89C2051单片机作为控制器,通行倒计时及左拐、右拐、直行、行人通行指示采用单块LCD 液晶点阵显示器。

三种方案的特点比较如下:方案一具有电路简单,设计方便,显示亮度高,耗电较少,可靠性高等特点;方案二的图案显示逼真,单片机占用端口资源少,缺点是需要大量的硬件,电路复杂,耗电量大,不太适合于模型制作;方案三设计占用单片机的端口最少,硬件也少,耗电也最少;虽然显示图案也很精美,但由于亮度太暗,晚上还得开背光灯,不够实用。

可见方案一优于其他两种方案,因此本设计选用方案一:采用LED动态扫描的方案进行设计。

2.2系统硬件设计采用LED动态扫描的交通灯控制系统电路原理图如图2-3所示。

(为排版起见,该图放在下一页)。

系统由控制模块、通行灯显示模块、时间显示模块、电源模块四部分组成。

2.2.3 时间显示模块通行剩余时间显示模块如图2-6所示(以北路口为例)。

路口通行剩余时间采用高亮红色7段共阳LED发光数码管显示,采用共阳数码管,如用单片机吸收电流驱动,列扫描驱动使用三级管,按每段6mA电流算,全显示字型“8”时,每个数码管需6mA×8=48mA。

由于时间显示每个路口相同,4组需192mA,因此设计中采用功率三极管S9012驱动。

由于单片机每个段码输出口需吸收48mA电流,因此在电路设计中也使用了驱动集成块74HC244。

2.2.4 电源电路电源电路如图2-7所示。

整个系统采用的电源电压只需+5V电压,将交流电经变压器变换为15V交流电,再用整流桥得到13.5V左右的直流电,采用不可调的3端稳压器件LM7805将电源稳定在5V直流输出。

+5V图2-7 电源电路2.2.5 硬件电路中器件选择A. AT89S52单片机AT89系列单片机是ATMEL公司的8位FLASH单片机。

这个系列单片机最吸引人的特点就是在片内含有FLASH存储器,不需要再外扩存储器,与80C51插座兼容,由于这些优点,使它有着十分广泛的用途,特别是在便携式和需要特殊信息保存的仪器和系统中显得更为有用。

89系列单片机典型型号有AT89C51,AT89LV51,AT89C52,AT89LV52,AT89C2051, AT89S52,AT89C1051,AT89S51和AT89S8252。

本设计选用AT89S52。

它内部具有1个8KB的Flash的程序存储器,1个512字节的RAM,4个8位的双向可位寻址I/O端口,3个16的定时/计数器、1个串行口、6个二级中断源和两个中断优先级。

引脚如图2-8所示。

D.七段LED 数码管7段数码管是一种常用的显示器件,其外观与内部电路连接见图2-11。

它使用7个笔画显示0~9共10个数字,加上一个小数点共8个显示段,每一个笔画都是由发光二级管组成的。

LED 数码管根据LED 的接法不同分为共阴和共阳两类,图2-11 (b)是共阳极数码管的内部电路,将八只LED 的阳极连在一起,其中a~g 为7个笔画的驱动端;dp 为小数点驱动端;COM 为公共引脚。

a b c d e f g dp VCC764219105(a)外观 (b)内部电路连接图2-11 LED 数码管0~9共10个字符的字形码如表2-1所示。

E.双色发光二极管双色发光二极管是在一个封装结构内设置两只不同单色的发光二极管。

共阴红绿双色发光电气符号图与内部电路连接如图2-12所示。

有3根引出线,圆形和长方形两种封装。

其中第一只发光二极管的负(或正极)与第二只发光二极管的负(或正极)极相互连接后再向外引出。

表2-1 LED数码管显示字符的字形码发光双色二极管的判别与检测方法:将万用表打在电阻档,用万用表黑表笔接在双色发光二极管中间的负极上,红表笔接在双色发光二极管的正极上,每次都亮,该双色发光二极管是共阴极的,并且是好的。

2.3 系统软件的设计交通灯控制系统软件分为主程序、定时中断程序与特种车实时响应程序三部分。

2.3.1 主程序主程序主要负责总体程序管理功能,包括初始化部分与人机交互设定部分。

由于采用动态扫描方式显示时间,因此主程序大部分时间要调用扫描显示程序。

主程序流程图如图2-15所示。

图2-15主程序流程图初始化部分主要完成内存规划,定时器的工作模式、中断方式等的设定。

由于子程序调用较多,因此初始化时堆栈指针设于80H处。

定时器T0、T1设为16位定时器模式,定时时间为50mS,T0为秒计时用,T1为通行结束闪烁用。

2.3.2 定时中断服务程序定时中断服务程序主要用于车辆与行人的通行指示,按照通行规则,红绿灯控制转换逻辑表如表2-2所示。

通行规则如下:A.车辆南北直行、各路右拐,南北向行人通行。

南北向通行时间为1min(60S),各路右拐比直行滞后10S开放。

B.车辆南北向左拐、各路右拐,行人禁行。

通行时间为1min(60S)。

C.车辆东西直行、各路右拐,东西向行人通行。

东西向通行时间为1min(60S),各路右拐比直行滞后10S开放。

D.车辆东西向左拐、各路右拐,行人禁行。

通行时间为1min(60S)。

表2-2 路口通行方式控制码数据表交通灯的4种通行规则,是以给控制红绿灯端口送控制码的方式实现的。

它的原理是,将按不同规则通行时的各路口的红绿灯亮灭情况转换为单片机端口控制码。

红绿灯指示功能通过T0定时中断服务程序实现。

定时器T0定时溢出中断周期设为50ms,中断累计20次(即1S)时对120S倒计时单元减一操作。

设计中将4种通行规则分成几种不同的亮灯方式,通过查询秒倒计时单元的数据,实现在不同的时间段给控制端口送不同的控制数据码。

控制码分为5个时间段:120~110S、110~70S、70~60S、60~10S、10~0S。

交通管理定时功能程序流程图如图2-16所示。

图2-16 交通管理定时功能程序2.3.4 算法分析A.定时器/计数器本设计涉及到120~110S、110~70S、70~60S、60~10S、10~0S五段计时,首先须将它们转为16进制代码。

120=7×16+8=78H110=6×16+14=6EH70=4×16+6=46H60=3×16+12=3CH10=0×16+10=0AHB.定时时间初值与TMOD的设置T0、T1为16位定时器,由于定时时间大于8192μS,应选用工作方式一。

相关主题