北京理工大学智能交通灯的设计说明_第1页
北京理工大学智能交通灯的设计说明_第2页
北京理工大学智能交通灯的设计说明_第3页
北京理工大学智能交通灯的设计说明_第4页
北京理工大学智能交通灯的设计说明_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、. . . . 基于单片机的智能交通灯设计实 训 报 告院 系班 级姓 名学 号指导教师2011 年 09月 10日理工大学信息与电子学院基于单片机的智能交通灯设计 1.1智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行; 黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行; 绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安

2、全通行,实现十字路口城乡交通管理自动化,本文为了实现交通道路的管理,力求交通管理先进性、科学化. 分析应用了单片机实现智能交通灯管制的控制系统,以与该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力.1.2 交通灯控制系统的研究现状在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早

3、的煤气红绿灯。它由红绿两色旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。而中国最早的马路交通灯却是诞生于1928年的英租界。从最早的手牵皮带到20世纪50年代的电气控制, 从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。但是,随着社会的不断进步,传统的交通灯的缺陷也日益出现,其中设计过于死板,达不到道路的最大通行效率是最明显的问题,

4、红绿灯交替变换时间过于程式化。随着我国经济的高速发展,人们对各种交通车辆的需求量不断增大,城市的交通拥护问题日益严重,目前,大部分城市的十字路口的交通控制灯,通常的做法是:事先经过车辆流量的调查,利用传统的方法设计好红绿灯的延时,然而,实际上的车流量是不断变化的,有的路口在不同的时间段车流量的大小甚至有很大的差异,所以说,统计的方法己不能适应迅速发展的交通现状。1.3基于单片机的智能交通灯控制系统设计的意义国的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存

5、在以下缺点:1两车道的车辆轮流放行时间一样且固定, 在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。利用单片机控制技术提出了软件和硬件设计方案,能够实现道路的最大通行效率。 1.4本文章主要工作 本文为了实现交通道路的管理,力求交通管理先进性、科学化. 分析应用

6、了单片机实现智能交通灯管制的控制系统,以与该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力.首先对智能交通灯的研究意义和智能交通灯的研究现状进行了分析,指出了现状交通灯存在的缺点,并提出了改进方法。智能交通灯控制系统通常要实现自动控制和在紧急情况下能够手动切换信号灯让特殊车辆优先通行。介绍了PROTEUS嵌入式系统仿真与开发平台的使用方法,利用Proteus软件对交通灯控制系统进行了仿真二、 智能交通灯控制系统的相关设计2.1 智能交通灯控制系统的技术指标1、设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行,两个

7、方向能根据车流量大小自动调节通行时间,车流量大,通行时间长,车流量小,通行时间短。 2、 每次绿灯变红灯时,要求黄灯先亮5S,才能变换运行车辆。3、 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数码管显示器进行显示(采用倒计时的方法)。4、同步设置人行横道红、绿灯指示。5、考虑到特殊车辆情况,设置繁忙开关。2.2 智能交通灯控制系统设计的方案选择针对道路交通拥挤,交叉路口经常出现拥堵的情况。利用单片机控制技术提出了软件和硬件设计方案与两点改进措施:1、根据各道路路口车流量的大小自动调节通行时间。2、考虑特殊车辆通行情况,设计繁忙开关。由于AT89C52单片机自单带有2计

8、数器,6个中断源,能满足系统的设计要求。用单片机设计不但设计简单,而且成本低,用其设计的交通灯也满足了要求,所以本文采用单片机设计交通灯.2.3 智能交通灯方案的实现根据设计任务和要求,可画出该控制器的原理框图, 为确保十字路口的交通安全,往往都采用交通灯自动控制系统来控制交通信号。其中红灯(R)亮,表示禁止通行;黄灯(Y)亮表示暂停;绿灯(G)亮表示允许通行。1) 工作原理大家都明白,绿灯的放行时间与车辆通过数量不成正比。比如说20秒每车道可以通过20辆车,40秒每车道却可以通过45辆车。因为这有一个起步的问题,还有一个黄灯等待问题。也就是说,绿灯放行时间越长,单位时间通过车辆的数量就越多。

9、我们来计算一下,每车道通行20秒可以通过20辆车,一个红绿灯循环是40秒(单交叉路口),加上每次状态转换的黄灯5秒(一个循环要两次转换),即一个红绿黄灯循环要50秒,即50秒通行的车辆为40辆。通过一辆车的平均时间是1.25秒。如果每次车辆通行的时间改为40秒,40秒每车道可以通过45辆,一个红绿灯循环是80秒(单交叉路口),加上每次状态转换的黄灯5秒(一个循环要两次转换),即一个红绿黄灯循环要90秒,即90秒通行的车辆为90辆。通过一辆车的平均时间只需1秒。显然在车辆拥挤的情况下绿灯的通行时间越长,单位时间通行的车辆越多,可以有效缓解车辆拥堵问题。当然绿灯时间也不可能无限长,要考虑到让另一路

10、口的等待时间不能过长。人们总是希望在交通灯前等候的时间越短越好。所以笔者设定了绿灯通行时间的上限为40秒。在非拥挤时段绿灯的通行时间的下限为20秒,当交叉路口双方车辆较少时通行时间设为20秒,这样可以大大缩短车辆在红灯面前的等待时间。当交叉路口双方车辆较多时通行时间设为40秒。三、 智能交通灯的设计1、信号灯电路信号灯用来显示车辆通行状况,下面以一个十字路口为例,说明一个交通灯的四种状态见图5。每个路口的信号的的转换顺序为:绿>黄>红 绿灯表示允许通行,黄灯表示禁止通行,但已经驶过安全线的车辆可以继续通行,是绿灯过渡到红灯提示灯。红灯表示禁止通行。绿灯的最短时间为20秒,最长时间为

11、40秒,红红最短时间为25秒,最长时间为45秒,黄灯时间为5秒。红黄绿绿黄红红黄绿绿黄红绿黄红红黄绿红黄绿红黄绿红黄绿绿黄红绿黄红红黄绿绿黄红绿黄红红黄绿红黄绿图5交通信号灯运行状态2、时间显示电路在交通信号灯的正上方安装一个可以显示绿灯通行时间,红灯等待时间的显示电路,采用数码管显示电路是一种很好的方法。由于东往西方向和西往向显示的时间一样,南往北方向和北往南方向显示的时间也一样,所以只需要考虑四位数码管显示电路,其中东西方向两位,南北方向两位,两位数码管可以时间的时间为0-99秒完全可以满足系统的要求.3.3、交通灯的软件设计流程图智能交通灯的软件设计流程图如图6所示:图6 交通灯的软件设

12、计流程图四 智能交通灯方案的仿真PROTEUS嵌入式系统仿真软件在设计时已经注意到和单片机各种编译程序的整合了,这里采用“Proteus+Keil”的仿真方法进行仿真。选择用Keil创建好的ss.asm文件,即完成了文件的创建。就这样当用Keil对ss.asm 文件进行更改时每一次运行PROTEUS VSM 的ISIS对电路进行仿真时Keil都会对ss.asm进行编译,ss.hex文件也会随时更新。电路图绘制完成后, 再添加AT89C51 的应用程序,将ss.hex文件加载到芯片上(给AT89C51输入晶振频率,此处默认为12MHZ),进行系统仿真。PROTEUS VSM 所进行的是一种交互式

13、仿真, 在仿真进行中可以对各控制按钮、开关等进行操作, 系统对输入的响应会被真实的反映出来。仿真结果如图12。在这个例子里, 开始仿真后,开关,按钮通过鼠标单击来改变状态,所改变状态的状态会在LED和数码管显示出来。由于篇幅所限, 以上仅举一例简单介绍了PROTEUS VSM 的使用, 但其强大的系统仿真功能已经得到体现, 用在单片机系统设计的教学方面, 能起到良好的教学效果。五 系统分析与改进措施智能控制交通系统实现是目前研究的方向,也已经取得不少成果,但传统的定时交通灯控制仍然在一些地方广泛应用,那是车流量不大,而且交通道路相对好的地方,传统的定时交通灯控制还是起到了一定的作用。但随着社会

14、的高速发展,城市化日益完善,车的数量必然增多,给交通的压力也增大,这时候,智能交通灯控制将会起到疏导交通,改善城市交通环境,推动城市化日益完善!基于Proteus智能交通灯控制系统软件设计上有两个主要特点,一方面是本设计采用模糊控制方法实现交通的控制,由于模糊控制不需要建立被控对象精确的数学模型,特别适用于随机的复杂的城市交通控制,因此以多变少为例子,在通行时间方面控制设置为20s25s40s45s20s 为一个循环,根据车流量,合理分配了通行时间。另一方面,设计繁忙开关,考虑一些特设情况,譬如,急救车或消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。实验测试结果证明用本系统的单片

15、机能完成交通灯控制过程,有效地疏导交通,提高了交通路口的通行能力. 该系统应用了单片机实现智能交通灯管制的控制系统,以与该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力.但功能还不够完善,比如交通灯红、黄、绿时间还不能按交通紧松完成自动调整,软件编写实现功能还不能很好控制硬件,本系统将增加更多功能,比如摄像机交通监控的控制,盲人通过时交通灯的控制等,使系统更加完善.程序清单:#include<reg52.h>#defineucharunsigned char#defineuintunsigned int/定义控制位 sbit Time

16、_Show_LED2=P25;/Time_Show_LED2控制位sbit Time_Show_LED1=P24;/Time_Show_LED1控制位sbitEW_LED2=P23;/EW_LED2控制位sbitEW_LED1=P22;/EW_LED1控制位sbitSN_LED2=P21;/SN_LED2控制位sbitSN_LED1=P20;/SN_LED1控制位sbit SN_Yellow=P16;/SN黄灯sbit EW_Yellow=P12;/EW黄灯sbit EW_Red=P13;/EW红灯sbit SN_Red=P17;/SN红灯sbit EW_ManGreen=P30;/EW人行道

17、绿灯sbit SN_ManGreen=P31;/SN人行道绿灯 sbit Busy_LED=P27;/交通繁忙指示灯 sbit Busy_Btton=P36;/交通繁忙按键 sbit Add_Button=P33;/时间加sbit Reduces_Button=P34;/时间减bit Flag_SN_Yellow; /SN黄灯标志位bit Flag_EW_Yellow;/EW黄灯标志位charTime_EW;/东西方向倒计时 charTime_SN;/南北方向倒计时 uchar EW=60,SN=40,EWL=19,SNL=19; /程序初始化赋值,正常模式uchar EW1=60,SN1=4

18、0,EWL1=19,SNL1=19;/用于存放修改值的变量uchar code table10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/19段选码uchar code S8=0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84;/交通信号灯控制代码/ 延时子函数 void Delay(uchar a)uchar i;i=a;while(i-);/ 显示子函数 void Display(void)char h,l;h=Time_EW/10;l=Time_EW%10; P0=tablel;EW_LED2=1;D

19、elay(2);EW_LED2=0; P0=tableh;EW_LED1=1;Delay(2);EW_LED1=0;h=Time_SN/10;l=Time_SN%10;P0=tablel;SN_LED2=1;Delay(2);SN_LED2=0; P0=tableh;SN_LED1=1;Delay(2);SN_LED1=0;h= EW1/10;l= EW1%10;P0=tablel;Time_Show_LED1=1;Delay(2); Time_Show_LED1=0;P0=tableh;Time_Show_LED2=1;Delay(2); Time_Show_LED2=0; /外部0中断服务

20、程序 void EXINT0(void)interrupt 0 using 1EX0=0; /关中断if(Add_Button=0) /时间加 EW1+=5; SN1+=5; if(EW1>=100) EW1=99; SN1=79; if(Reduces_Button=0) /时间减 EW1-=5; SN1-=5; if(EW1<=40) EW1=40; SN1=20; if(Busy_Btton=0) /测试按键是否按下,按下为繁忙状态 EW1=45; SN1=30;EWL1=14;SNL1=14; Busy_LED=1;/开繁忙信号灯 EX0=1;/开中断/T0中断服务程序 v

21、oid timer0(void)interrupt 1 using 1static uchar count;TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+;if(count=10) if(Flag_SN_Yellow=1) /测试南北黄灯标志位 SN_Yellow=SN_Yellow; if(Flag_EW_Yellow=1) /测试东西黄灯标志位 EW_Yellow=EW_Yellow; if(count=20)Time_EW-;Time_SN-;if(Flag_SN_Yellow=1)/测试南北黄灯标志位 SN_Yellow=SN_Ye

22、llow;if(Flag_EW_Yellow=1)/测试东西黄灯标志位 EW_Yellow=EW_Yellow;count=0;/ 主程序开始 void main(void) Busy_LED=0; IT0=1;/INT0负跳变触发 TMOD=0x01;/定时器工作于方式1TH0=(65536-50000)/256;/定时器赋初值TL0=(65536-50000)%256;EA=1; /CPU开中断总允许ET0=1;/开定时中断EX0=1;/开外部INTO中断 TR0=1;/启动定时 while(1)/ S0状态 EW_ManGreen=0;/EW人行道禁止 SN_ManGreen=1;/SN

23、人行道通行 Flag_EW_Yellow=0; /EW关黄灯显示信号Time_EW=EW;Time_SN=SN;while(Time_SN>=5) P1=S0; /SN通行,EW红灯 Display();/ S1状态 P1=0x00;while(Time_SN>=0) Flag_SN_Yellow=1; /SN开黄灯信号位 EW_Red=1; /SN黄灯亮,等待左拐信号,EW红灯 Display();/ S2状态 Flag_SN_Yellow=0; /SN关黄灯显示信号Time_SN=SNL;while(Time_SN>=5)P1=S2;/SN左拐绿灯亮,EW红灯 Display(); / S3状态 P1=0x00;while(Time_SN>=0) Flag_SN_Yellow=1;/SN开黄灯信号位 EW_Red=1; /SN黄灯亮,等待停止信号,EW红灯 Display(); /赋值 EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;/S4状态 EW_ManGreen=EW_ManGreen;/EW人行道通行 SN_ManGreen=SN_ManGre

温馨提示

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

评论

0/150

提交评论