交通灯控制系统2_第1页
交通灯控制系统2_第2页
交通灯控制系统2_第3页
交通灯控制系统2_第4页
交通灯控制系统2_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、 广东工业大学第五届电子设计大赛交通灯控制系统摘要随着社会的发展,人们的消费水平不断的提高,私人车辆不断的增加。人多、车多道路少的道路交通状况已经很明显了。我国是13亿多人口的大国,到2007年,全国的机动车保有量超过了6000万,而全国公路通车总里程只有14.3万公里。静态比例为:人均车辆越0.5辆,而人均道路只有0.00011公里;每辆车均道路占有量约为0.002公里;且其中90%的道路属于机动车与非机动车和行人混杂。车辆的增加反映出了国家的整体进步,但是也给人民带来了其他的一些负面的影响。今后几年机动车辆数字还在急剧增加,道路超负荷承载,致使交通事故逐年增加。在一个交通十字路口,如果还是

2、像以前一样由单纯的一种信号灯和交通警察的协调来维持交通是不够的。根据统计每年因交通事故死亡的人数占所有事故死亡总人数的80%,而且这个比例还在不断的增加。如果将每个交通十字路口的多余交通警察撤回,安排在最不利于管理和事故高发的地方,不但可以大大的降低交通事故的发生率,而且可以节省大量的人力财力。基于新型规则的可编程交通控制系统(以下简称交通控制系统)可以实现对车辆、行人的控制,使的交通便于管理。我们设计的交通控制系统具有自动化程度高、可靠性好、功能完备、可扩展、可编程、便于升级、独立性强的优点。改进了以前的交通指示灯的那种信号单一,处理应急事故的能力差的缺点。方案论证和比较方案一:由PC机来实

3、现系统的全部功能个人电脑(PC机)对一些控制问题上的解决是非常容易的,可以通过各种数据采集装置和与其配套的计算机软件,来动态的对整个交通控制系统进行调整。但是PC机的价格高,体积大,比较笨重,运行的环境要求甚高,适应能力较弱,从实际应用的角度考虑不宜采用,所以不选择这种方案。方案二:设计PLC路实现整套系统虽然可编程逻辑控制器(PLC)的速度快,控制功能强大、结构灵活,集成度高,易扩展各种功能的特点。完成此交通控制系统只需很少的器件和时间。但是举办电子大赛的目的是为了锻炼我们的动手能力,因此我们没有选择使用PLC。方案三:利用单片机实现整套系统由于MCS系列单片机集成了几乎完善的中央处理单元,

4、处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给我们利用单片机提供了极大的便利。单片机把微型计算机的主要部件都集成在一块心片上,使得数据传送距离大大缩短,运行速度更快,可靠性更高,抗干扰能力更强。由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,工作亦相对稳定。因此,测控系统中,使用单片机是最理想的选择。单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。单片机的开发环境要求较低,软件资源十分丰富,开发工具的和语言也大大简化。对于本交通控制系统使用AT89S系列的单片机,不需要外扩展存储器,就能实现

5、显示、预制状态、动态调节的功能,因而整体结构简单。单片机系统用LED显示倒计数时间和方向箭头,由键盘输入设定值或者通过串口由计算机远程控制。综合比较以上三种方案,我们选择最后一种。理论分析与系统设计硬件选择:为了方便制作和调试,我们选择AT89S51的PDIP封装形式。P0口作为LED七段数码管的驱动,P1、P3口作为各种信号灯的驱动。P2口作键盘输入,并且留出RXD、TXD作以后系统升级通过323或485与PC通信,实现远程控制。电源由220V市电经变压器变压,整流,滤波,再由7805稳压输出,供给AT89S51和整个系统。软件选择:软件采用C语言设计。C语言对数据进行了许多专业性的处理,避

6、免了运行间非异步的破坏;它提供复杂的数据类型,大大增强了程序的处理能力和灵活性;自动为变量分配合理的地址;提供丰富的库函数,宏定义等;基于以上的优点,采用C语言来开发可以大大提高效率,缩短开发周期。开发环境:Keil C51。 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数

7、语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。软件下载:Easy 51pro 串行编程器(自制)。(Easy 51Pro v21.0宇宙版下载网址:)主芯片功能特性:AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应

8、用系统提供高性价比的解决方案。    AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断

9、激活或硬件复位。程序流程图:电路原理图:附:源程序代码/*/ /* 交通灯控制系统 */ /* 设计:陈金玉 吴振铨 */ /* 广东工业大学信息工程学院 */ /* 04应用电子2班 */ /* 2006年4月25日 */ /*/#include"reg51.h"unsigned char code table= / seven segments LED code 0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/

10、*9*/;sbit A_R=P10;/A road Red lightsbit A_G=P11;/A road Green lightsbit A_Y=P12;/A road Yellow lightsbit A_A=P13;/A road Arrow lightsbit C_R=P14;/C road Red lightsbit C_G=P15;/C road Green lightsbit C_Y=P16;/C road Yellow lightsbit C_A=P17;/C road Arrow lightsbit B_R=P10;/C road Red lightsbit B_G=P1

11、1;/B road Green lightsbit B_Y=P12;/B road Yellow lightsbit B_A=P13;/B road Arrow lightsbit D_R=P14;/D road Red lightsbit D_G=P15;/D road Green lightsbit D_Y=P16;/D road Yellow lightsbit D_A=P17;/D road Arrow lightsbit PB1=P27;/primary road led bit 1sbit PB2=P26;/primary road led bit 2sbit SB1=P25;/s

12、econdary road led bit 1sbit SB2=P24;/secondary road led bit 2sbit PSW_G=P23;/primary road sidewalk Green lighisbit PSW_R=P22;/primary road sidewalk Red lighisbit SSW_G=P21;/secondary road sidewalk Green lighisbit SSW_R=P20;/secondary road sidewalk Red lighisbit PR_G=P30;/primary road turn right Red

13、lightsbit PR_R=P31;/primary road turn right Green lightsbit SR_G=P32;/secondary road turn right Red lightsbit SR_R=P33;/secondary road turn right Green lightunsigned char CASE;/ road situationunsigned char PT;/primary road timeunsigned char ST;/secondary road timevoid display(unsigned char PT,unsign

14、ed char ST);/road time displayvoid init(void);/initialise systemvoid delay(void);/ led scan delaytime0()interrupt 1 using 1/T0 interrupt serve (delay 50ms) unsigned char i; i+; TH0=-50000/256; TL0=-50000%256; if(i>20) i=0; PT-; ST-; void init(void)/initialise system P0=0x00;/initialise IO portsP1

15、=0xFF; P2=0xFF;P3=0xFF;CASE=1;/the initial road situationTMOD=0x61;/initialise timerTH0=-50000/256;TL0=-50000%256;EA=1;ET0=1;TR0=1;void display(unsigned char PT,unsigned char ST)/road time display function unsigned char n; n=PT%10; PB1=0; P0=tablen; delay(); delay(); PB1=1; delay(); n=PT/10; PB2=0;

16、P0=tablen; delay(); delay(); PB2=1; delay(); n=ST%10; SB1=0; P0=tablen; delay(); delay(); SB1=1; delay(); n=ST/10; SB2=0; P0=tablen; delay(); delay(); SB2=1; delay(); void delay(void)/ led scan delay int k; for(k=0;k<300;k+) ;void main(void) init(); while(1) switch(CASE) case 1: PT=15; ST=75;C_R=

17、0;/C go ahead forbitD_R=0;/D go ahead forbitA_A=0;/A road turn left allowA_R=0;B_A=0;/B road turn left allowB_R=0;PR_G=0;/primary road turn right allow PR_R=1; SR_R=0;/secondary road turn right forbitSR_G=1; PSW_G=1;/primary road sidewalk forbitPSW_R=0;SSW_G=1;/secondary road sidewalk forbitSSW_R=0;

18、 while(!(PT=0&&ST=0) if(PT<6&&ST<66&&ST>PT) if(PT%2=1) A_A=1;/A road turn left flash B_A=1;/B road turn left flash else A_A=0; B_A=0; if(PT=0&&ST=60) PT=60; A_A=1;/A road turn left forbid B_A=1;/B road turn left forbid PR_G=1;/primary road turn right forbid P

19、R_R=0; A_G=0;/A road go ahead allow A_R=1; B_G=0;/B road go ahead allow B_R=1; SSW_G=0;/secondary road sidewalk allow SSW_R=1; if(PT<6&&ST<6) A_G=1; B_G=1; if(PT%2=1) A_Y=1;/A road yellow light flash B_Y=1;/B road yellow light flash SSW_G=1;/secondary road sidewalk Green light flash el

20、se A_Y=0; B_Y=0; SSW_G=0; display(PT,ST); A_G=1;/A road go ahead forbit B_G=1;/B road go ahead forbit SSW_G=1;/secondary road sidewalk forbitSSW_R=0;CASE=2;Break; case 2: PT=55; ST=10;A_R=0;/A road go ahead forbitB_R=0;/B road go ahead forbit C_A=0;/C road turn left allowC_R=0;D_A=0;/D road turn left allowC_R=0;SR_R=1;/secondary road turn right allowSR_G=0; PSW_G=1;/primary road sidewalk forbitPSW_R=0;SSW_G=1;/secondary road sidewalk forbitSSW_R=0; while(!(PT=0&&ST=0

温馨提示

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

评论

0/150

提交评论