十字路口交通灯设计(论文)修改版.doc_第1页
十字路口交通灯设计(论文)修改版.doc_第2页
十字路口交通灯设计(论文)修改版.doc_第3页
十字路口交通灯设计(论文)修改版.doc_第4页
十字路口交通灯设计(论文)修改版.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东凯文科技职业学院山东凯文科技职业学院2012届毕业论文十字路口交通灯设计学 院: 信息学院 学生姓名: 王健 指导教师: 林丰艳 专 业: 电子信息工程技术 班 级: 09级1班 完成时间: 2012年6月27日 .摘 要本系统采用单片机STC89C51为中心控制器来设计交通灯控制器实现智能控制十字路口交通灯的各种状态显示。本设计系统由交通灯状态显示、LED数码显示、复位电路、时钟电路、电压转换电路、烧写电路等几大部分组成。系统集成了交通灯的显示功能,较好的模拟实现了十字路口可能出现的状况。程序的编写在Uvision环境下,通过C51进行程序的设计,PROTUES中对此系统的电路和程序进行可视化的验证,Dxp中进行电路原理图的绘制。关键词:电子线路; STC89C51; LED 交通灯目 录1 概述11.1设计目的11.2方案比较、设计与论证11.2.1电源方案11.2.2 复位方案11.2.3 硬件电路方案21.2.4 显示界面方案21.2.5 车流量控制方案21.3设计任务22 系统总体方案及硬件设计32.1交通管理的方案32.2总体硬件设计42.3系统晶振电路52.4系统复位电路62.5路灯指示电路72.6车流量检测电路72.7时钟电路82.8 电压转换电路92.9系统原理图93 软件系统设计123.1设计思路及关键技术123.2 软件流程123.3 交通灯的设计程序说明143.4延时函数153.5 各通道红绿灯状态函数163.6路况红路灯状态总体显示函数213.7定时器0中断函数213.8外部中断1函数243.9外部中断0函数264 Proteus软件仿真和keil软件编程的实现274.1 keil软件编程的实现274.2 Proteus软件仿真274.3 南北路灯切换时仿真284.4 高峰期车流量拥挤时仿真294.5 系统总仿真图305 结论32致 谢321 概述1.1设计目的 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,交通也成了日常生活的一部分,在交通灯出现以前,如何有效的缓解交通压力以及避免不必要的交通事故,这成了一个城市拥有良好的交通治安的前提。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。为此我们选择交通灯这一课题作为毕业设计课题,通过仿真来模拟实际交通灯的工作状态,通过软件的仿真来分析实际十字路口的路况,可以通过此仿真得到实际交通灯的不足之处,为解决实际的路况,提供一种有效地手段和实现方法,此设计中我们对于车流量的检测,给出了两种方案,一是程序巡回检测,二是中断处理,为了达到实时性的要求,我们采用中断处理来解决这一问题。硬件上我们采用光耦来控制继电器的闭合产生中断,每有一辆车经过时,继电器闭合一次产生一次中断,计数器加1,出口处,则计数器减1.为了方便模拟,我们在PROTUES中简单的用按键闭合低电平作为中断的触发信号。1.2方案比较、设计与论证1.2.1电源方案为使模块稳定工作,须有可靠电源。为此我们提供三种方案:(1) 变压器供电(220V转24V稳到5V)(2) Usb接口供电(3) 电池供电以上三种方案比较:变压器供电稳定,而且220V市电来源广泛,输出功率可选,对功耗不需要太多的考虑,缺点还要整流稳压。USB供电很稳定,其外部电源由其他设备提供,但是要依附于其他设备。电池供电来源也很广泛,供电很稳定,但对功耗有太大的要求,而且随着供电的时间增长,电池内阻增大,电压变小,对系统的运行产生很大的影响。增上所述我们选择变压供电。并同时附带一个USB供电接口。1.2.2 复位方案复位方式有三种:按键复位、系统上电复位和软件复位。由考虑到程序的简洁,避免冗长,以及避免每次要复位要对系统就行断电上电操作所以本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个一定时间高电平脉冲,达到复位的目的。1.2.3 硬件电路方案方案一:采用STC89C51外加8255扩展 I/O 口用于显示等。该方案的优点是:使用灵活可编程,并且RAM资源对于本设计来说比较充足,及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。方案二:直接在单片机IO口线上接显示电路。因为设计时精简和优化了电路,所以剩余的口资源还比较多。 因为该系统显示方面主要是数码管和LED的显示,所以只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二1.2.4 显示界面方案 该系统要求完成倒计时、状态灯等功能(5)。基于上述原因,我们考虑了二种方案:方案一:采用数码管及LED配合显示,LED显示红绿灯状态,数码管用于倒计时。方案二:完全采用点阵式LED 显示。将红绿灯状态以及倒计时全部集成在点阵上显示。较之方案一方案二要求点阵至少具有红绿黄三种颜色,而且为了显示的效果可观,点阵点数至少要12*12个,软件开销教方案一微复杂一些,故我们选用方案二作为显示方案。1.2.5 车流量控制方案车流量控制我们只在主车道上进行控制,支车道上我们不做此方面的控制。此车流量我们只给出一个方案,此方案是从光电耦合器的实际工作原理得到的。便于模拟,我们采用一只红外发射头和一个感光元件组成车流量测量系统,工作原理为:当没有车通过的话,红外发射头发送的光线使感光元件导通,当有车辆通过的时候,光线被车辆隔断,感光元件断开,MCU接收一个低电平中断,计数器加1,这样就可以计算通道进入车辆了,在出道口出我们也放置一个此装置。1.3设计任务(1) 南北道和东西道上均有车辆要求通过时,南北东西道轮流放行。南北道道放行25s,B 道放行25S。(2)南北道,北南道,东西道,西东道上,每个通道又分为3个分车道,三个分车道的车可以根据红绿灯指示进行执行,拐弯动作。(3)在中午12点到1点之间可通过LCD显示路况繁忙状态,且具有时间显示功能。(4) 南北方向车道和东西方向车道一个车道放行一个车道禁行。(5) 车流量控制功能,当车流量超过一定数量时南北车道延迟放行最多70s。(6)绿灯转为红灯时,黄灯亮5秒。2 系统总体方案及硬件设计2.1交通管理的方案东西、南北两干道交于一个十字路口(8),各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。(1) 当东西方向bcd为红灯时,则此通道禁止通行,a为绿灯,表示可以进行右转弯,此道车辆禁止通行;时间为25秒。如下图2-1所示:图2-1八车道红绿灯模拟图(2) 黄灯5秒,警示车辆红、绿灯的状态即将切换。 (3) 当东西方向为绿灯,此道车辆及人允许通行;南北方向为红灯,南北道车禁止通过。时间为25秒.如下图2-2所示: 图2-2 八车道红绿灯模拟图(4) 这样如上表的时间和红、绿、黄出现的顺序依次出现这样车辆就能通行。2.2总体硬件设计整个设计以两块STC89C51(3)单片机为核心一块作为主机,一块作为从机,由数码管显示,LED数码管显示,LCD时间显示和提示电路,复位电路,电源电路等组成。如下图2-3所示:图2-3 系统模块图(1) 供电部分为220v转5v变压器,整流稳压后作为系统的输入电源。(2) 系统上电,系统初始化(定时初始化,中断初始化,LCD初始化,中断优先级初始化,串行中断初始化)(3) 车流量是否大于预设值,不大于预设值,则主机向从机发送0XEE指令,且主机定时器每隔1S时间发送一次,从机每隔1S接收一次。主机红绿灯状态显示,从机倒计时显示。如果车流量大于预设值,则主机向从机发送0XAA指令,主机本身进行延时处理,从机也做相应的延时处理。(4) 主机通过TXD口发送,从机RXD口接收。(5) 单个复位按键,双机同时复位。(6) 从机时钟芯片用于时间提醒,当时间到达预设时间时,则可以通过LCD显示预设值内容。(7) 主机包括两个外部中断,减中断,加中断,用于记录当前时间的车流量。2.3系统晶振电路晶振采用了内部时钟信号源的方式。对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。但由于图中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,在本系统的实际应用中一定要注意正确选择参数(3010 PF),并保证对称性(尽可能匹配)。选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取30pF,晶振为11.0592mhz.如下图2-4和2-5所示:图2-4 主机U4系统晶振电路图2-5 从机U1系统晶振电路2.4系统复位电路复位方式有多种,本设计采用上电自动复位+按键手动复位。如下图2-6所示:图2-6 系统复位电路在设定的定时时间内,89C51必须在RST引脚产生一个由高到低的电平变化,以复位。2.5路灯指示电路在设计路灯时,采用了发光二极管代替路灯。先介绍一下二极管,见图 2-6-1。二极管工作原理是单向导通,即只有正极电压高于负极电压某特定值时才会导通,而负极电压高于正极电压是不导通的。如下图2-6所示:图 2-7 发光二极管示意图发光二极管是一种特殊的二极管,导通时会发光(发光二极管导通压降一般为1.7V1.9V)。此外,工作电流要满足该二极管的工作电流。 发光二极管的正负极可以用万用表进行判断,把万用表拨至二极管档或电阻挡,用两个表笔分别接触二极管的两个引出脚。若发光二极管被点亮,则与红表笔相接的引出脚为正极。从外观上看,发光二极管的正极引脚的长度也比较长。 一般发光二极管与I/O端口之间都会再连接一个电阻,其作用在于限制通过二极管的电流,从而达到减少功耗或者满足端口对最大电流的限制。一般发光二极管的点亮电流为5mA至10mA。路灯设计时我采用了红、黄、绿三种发光二级管组。如下图2-8所示: 图2-8 路灯设计电路2.6车流量检测电路此功能只在南北通道上设有,为了方便模拟,用按键代替车辆的通过,每按下按键INT0就代表一辆车通过,没按下按键INT1就代表一辆车出去,接口电路如下图所示:图2-9 车流量按键模块2.7时钟电路时钟电路如下图2-10所示:图2-10 时钟电路DS1302是美国 DALLAS 公司推出的一种高性能、低功耗的实时 时钟芯片,附加31字节静态RAM, 采用SPI三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电 方式,提供了对后背电源进行涓细电流充电的能力.本论文中通过时间对交通等进行控制,当12点-1点这段时间里为高峰期,此时红绿灯时间从25秒变为45秒。2.8 电压转换电路通过电压转换电路系统(6)可将220V转成5V。如下图2-11所示:图2-11 电压转换电路2.9系统原理图系统原理图如下图2-12,2-13,2-14,2-15,2-16所示:2.12 系统原理图图2-13系统部分原理图1图2-14系统部分原理图2图2-15 系统部分原理图3图2-16 系统部分原理图43 软件系统设计3.1设计思路及关键技术 一个完整的交通灯相当于一个完整的单片机系统(1),该系统有交通灯设置电路、单片机、显示电路等构成。单片机是集成的IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。首先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。 3.2 软件流程系统主机流程图如图3-1所示: 图3-1 整体软件设计流程图系统从机流程图如图3-2所示图3-2系统从机流程图3.3 交通灯的设计程序说明这部分中定义了一些全局变量的数组(9)和变量以及位标志,只是些定义的东西不需要画流程图了。这部分程序如下:#include#include/包含空指令#define uchar unsigned char#define uint unsigned int#define xx 5 /车流量拥挤下限值sbit nb1_r=P00;/南北红灯sbit nb1_y=P01;/南北黄灯sbit nb1_l=P02;/南北绿灯sbit nb2_r=P03;/东西红灯sbit nb2_y=P04;/东西黄灯sbit nb2_l=P05;/东西绿灯sbit nb3_r=P06;sbit nb3_y=P07;sbit nb3_l=P20;sbit dx1_r=P21;sbit dx1_y=P22;sbit dx1_l=P23;sbit dx2_r=P24;sbit dx2_y=P25;sbit dx2_l=P26;sbit dx3_r=P27;sbit dx3_y=P30;sbit dx3_l=P36;sbit tu=P37;bit liuliang=0;/流量延时bit flag1=1;bit flagfx=1;uint flow=0;uchar time=20;/循环20次为1S(每次约为50MS)uchar cishu=0;uchar x=26;uchar y=30;3.4延时函数延时程序如下:/1ms/void delay05s()/约1ms延时uint i;uchar t;for(i=10;i0;i-)for(t=100;t0;t-)_nop_();/1.5ms/void delay1s()/约1.5MS延时uint i;uchar t;for(i=10;i0;i-)for(t=150;t0;t-)_nop_();3.5 各通道红绿灯状态函数显示函数如下:void nb1hong()nb1_r=1;nb1_y=0;nb1_l=0;void nb1huang()nb1_r=0;nb1_y=1;nb1_l=0;void nb1lv()nb1_r=0;nb1_y=0;nb1_l=1;void nb1mie() nb1_r=0;nb1_y=0;nb1_l=0;void nb2mie() nb2_r=0;nb2_y=0;nb2_l=0;void nb3mie() nb3_r=0;nb3_y=0;nb3_l=0;void dx1mie() dx1_r=0;dx1_y=0;dx1_l=0;void dx2mie() dx2_r=0;dx2_y=0;dx2_l=0;void dx3mie() dx3_r=0;dx3_y=0;dx3_l=0;void mie()nb1mie();nb2mie();nb3mie();dx1mie();dx2mie();dx3mie();void nb2hong()nb2_r=1;nb2_y=0;nb2_l=0;void nb2huang()nb2_r=0;nb2_y=1;nb2_l=0;void nb2lv()nb2_r=0;nb2_y=0;nb2_l=1;void nb3hong()nb3_r=1;nb3_y=0;nb3_l=0;void nb3huang()nb3_r=0;nb3_y=1;nb3_l=0;void nb3lv()nb3_r=0;nb3_y=0;nb3_l=1;void dx1hong()dx1_r=1;dx1_y=0;dx1_l=0;void dx1huang()dx1_r=0;dx1_y=1;dx1_l=0;void dx1lv()dx1_r=0;dx1_y=0;dx1_l=1;void dx2hong()dx2_r=1;dx2_y=0;dx2_l=0;void dx2huang()dx2_r=0;dx2_y=1;dx2_l=0;void dx2lv()dx2_r=0;dx2_y=0;dx2_l=1;void dx3hong()dx3_r=1;dx3_y=0;dx3_l=0;void dx3huang()dx3_r=0;dx3_y=1;dx3_l=0;void dx3lv()dx3_r=0;dx3_y=0;dx3_l=1;3.6路况红路灯状态总体显示函数显示函数如下:void nbtongxing()/南北通行,东西禁行nb1lv();nb2lv();nb3hong();dx1lv();dx2hong();dx3hong();void dxtongxing()/东西通行,南北禁行dx1hong();dx2lv();dx3lv();nb1lv();nb2hong();nb3hong();void huangdeng()/黄灯liangdx1huang();dx2huang();dx3huang();nb1huang();nb2huang();nb3huang();3.7定时器0中断函数定时器0中断函数如下:void timer1() interrupt 1TR0=0;TL0=0X00;TH0=0X4C;time-;/20次为1Sif(time=0)ES=1;TI=0;SBUF=0Xee;time=20;cishu+;if(flagfx=1)if(cishu=x & cishuy)huangdeng();else if(cishu=y)huangdeng();cishu=0;flagfx=flagfx;else if(cishu=x & cishuxx) ES=1;TI=0;SBUF=0Xaa;/ES=0;TR0=0; else ES=1;TI=0;SBUF=0Xee;/ES=0;TR0=1; 流程图如下图3-4所示:图3-43.9外部中断0函数void int0() interrupt 0/进车口检测 TR0=0; flow+; if(flowxx) ES=1;TI=0;SBUF=0Xaa;/ES=0;TR0=0; else ES=1;TI=0;SBUF=0Xee;/ES=0;TR0=1; 4 Proteus软件仿真和keil软件编程的实现4.1 keil软件编程的实现Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面操作。程序写好后,对程序进行了编译、翻译,在工程菜单栏里为工程设置选项中选择了输出HEX文件,生成HEX以便输入单片机进行仿真。4.2 Proteus软件仿真Proteus软件(10)用于系统的仿真,编译软件采用keil UV4。程序的仿真用英国的labcenter公司的Protens V7.5。其果如下:加电后的结果如图4-3。此时时间已经走过一秒,南北是绿灯,东西是红灯。仿真图如下图4-1和4-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论