交通灯设计(版本10)_第1页
交通灯设计(版本10)_第2页
交通灯设计(版本10)_第3页
交通灯设计(版本10)_第4页
交通灯设计(版本10)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

11目录摘要.3前言.4第一章:设计方案的选择.51.1设计要求.5第二章:硬件电路的原理与分析.6第三章软件设计与分析.103.1流程图设计.103.2软件编程设计.11第四章总结.21第五章参考文献.2222摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机AT89C51设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1、P3口设置红、绿灯亮时间的功能;红绿灯循环点亮60秒,加3秒绿灯闪烁,再加2秒黄灯闪烁警示。交通灯信号通过P2口输出,显示时间直接通过89C51芯片的P2口输出至二极管。通过89C51芯片P0口控制人行道的通行。本系统实用性强、操作简单、扩展功能强。关键字:单片机,交通灯,数码管,二极管33前言当前,在世界范围内,一个以微电子技术,计算机和通信技术为先导的,以信息技术和信息产业为中心的信息革命方兴未艾。而计算机技术怎样与实际应用更有效的结合并有效的发挥其作用是科学界最热门的话题,也是当今计算机应用中空前活跃的领域。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。随着中国加入WTO,我们不但要在经济、文化、科技等各方面与国际接轨,在交通控制方面也应与国际接轨。俗话说“要想富,先修路”,但路修好了如果在交通控制方面做不好道路还是无法保障畅通安全。作为交通控制的重要组成部份的交通信号灯也应国际化。随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。随着城市机动车量的不断增加,许多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。本文主要从单片机的应用上来实现十字路口交通灯智能化的管理,用以控制过往车辆的正常运作。这次设计的主要任务是设计一个单片机控制44的交通灯控制系统的设计。首先设计出各个功能模块,再搭建出完整的硬件系统,选好合适的单片机型号并依照硬件连接图设计出相应的软件系统,通过编译软件编译出可执行的目标文件,最后作出原理图并在仿真软件上仿真出设计结果。55第一章:设计方案的选择1.1设计要求1.设计一个十字路口的交通灯控制电路,要求主车道和干道两条交叉路上的车辆交替运行,每次通行时间都设为主道通行25S,次道通行20S;2.要求黄灯先亮5S,才能变换运行车道;3.黄灯亮时,要求每秒钟闪亮一次;4.倒数秒数显示;5.声音提示;6.当有特殊情况需要通行时,可对红绿灯进行认为控制。第二章:硬件电路的原理与分析硬件电路的构成:显示电路时钟部分驱动电路电源部分单片机662.1电源电路R2612D1VCC12P5VCC:R26D1构成电源的指示,R26起限流作用,根据公式R=U/I得R26的阻值为100R-500R.P5为插针起电源接口作用2.2单片机最小系统P.0/TEX34578RS9xDINWALVCUYpC1C2与Y1构成单片机提供工作的时钟信号,R9电解电容C3S1构成单片机的复位系统,R1-R9使起P0实现I/O功能。40脚为单片机提供工作77电压端,20脚为单片机接地保护端。2.3ULN2803驱动电路Q1234568R09VCUabcdefghGDpULN2803用来驱动8位数码管及8组16LED灯的阴极,其中U2为数码管的驱动芯片,U3为LED灯的阴极驱动芯片;8个三极管Q1Q8组成的共集电极电路用来驱动8位数码管的段及LED灯的阳极,R10R25起限流作用。2.4LED板接口电路PP1P4为12pin插排起到驱动板与显示板连接作用。2.5PCB驱动板88213211233211233211233213211234567891011213141516171819204039383736353433231302928272625242322121298765431121876543219108765432191011287654321910112121123456789102112212121212121212121121212121212121287654321910112131415161718181716151413121109123456782122112112此图为交通灯pcb驱动设计图,设定规则如下:信号线宽为0.8mm,电源和地线宽为1mm.焊盘孔径为1mm,焊盘外围孔径为2mm。过孔没做要求。2.6显示电路图DabcdefGPHrXAgUpLED板包含两位数码管U1、12个LED灯D1D12和一个26的接口J1。其中12个LED灯构成26的连接方式,D1D6的阴极连接到一个公共段G9上,D7D12的阴极连接到一个公共段G9上。当G9为低电平、a为高电平的时候就可以点亮D1;同样,如果要点亮D10,只要使G10为低电平、d为高电平即可。使用时可以直接通过P1口与驱动板连接。2.7PCB显示板992345167891012345678910112121212121212121212121212此图为交通灯pcb显示设计图,设定规则如下:信号线宽为0.8mm,焊盘孔径为1mm,焊盘外围孔径为2mm。过孔没做要求。1010第三章软件设计与分析3.1流程图设计程序流程图如图所示:Y开始初始化南北红灯亮东西绿灯亮绿灯时间=0?显示信号灯持续时间NY南北红灯亮东西黄灯亮黄灯时间=0?显示信号灯持续时间NY南北绿灯亮东西红灯亮绿灯时间=0?显示信号灯持续时间NY南北黄灯亮东西红灯亮黄灯时间=0?显示信号灯持续时间N1111(此图为简易交通灯流程图,仅供参考)3.2软件编程设计根据原理图和老师给的资料,软件编程设计如下所#include#defineucharunsignedchar#defineuintunsignedintucharcodetaba=0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6;/数码管的段码。ucharcodetabb=0x09,0x0c,0x24,0x21,0x09,0x09,0x09,0x0c,/状态一0x09,0x0a,0x12,0x11,0x12,0x0a,0x09,0x0a,/状态二0x09,0x0c,0x09,0x0c,0x24,0x21,0x09,0x09,/状态三0x09,0x0a,0x09,0x0a,0x12,0x11,0x12,0x0a,/状态四0x09,0x09,0x09,0x0c,0x09,0x0c,0x24,0x21,/状态五0x12,0x0a,0x09,0x0a,0x09,0x0a,0x12,0x11,/状态六0x24,0x21,0x09,0x09,0x09,0x0c,0x09,0x0c,/状态七0x12,0x11,0x12,0x0a,0x09,0x0a,0x09,0x0a/状态八;/led灯的段码。sbitG1=P30;sbitG2=P31;sbitG3=P32;sbitG4=P33;sbitG5=P34;sbitG6=P35;sbitG7=P36;sbitG8=P37;/LED灯的位控;sbitG9=P07;sbitG10=P06;sbitG11=P05;sbitG12=P04;sbitG13=P03;sbitG14=P02;sbitG15=P01;sbitG16=P00;/数码管的位控;ucharsecond1,second2,second3,second4;uchartcount;ucharsecond1_h,second1_l,second2_h,second2_l,second3_h,second3_l,second4_h,second4_l;uchara;/定义一个全局变量a,显示数码管的数字。1212ucharoperation_type=1;/定义显示的状态;voiddelay(uintcount)uchari,j;for(i=0;i0;j-);voidinit()/初始化P3=0X00;P1=0X00;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;/定义50ms的计数。TR0=1;ET0=1;EA=1;second1=0;second2=0;second3=0;second4=0;tcount=0;a=74;voidt0()interrupt1using2tcount+;if(tcount=5)tcount=0;a-;voiddispcomp()switch(operation_type)case1:G9=1;P2=tabaa/10;/北面数码管74delay(4);G9=0;G10=1;P2=tabaa%10;delay(4);G10=0;G11=1;P2=taba(a-50)/10;/西面数码管24delay(4);G11=0;G12=1;P2=taba(a-50)%10;delay(4);G12=0;G13=1;P2=taba(a-50)/10;/南面数码管24delay(4);G13=0;G14=1;P2=taba(a-50)%10;delay(4);G14=0;G15=1;P2=taba(a-25)/10;/东面数码管49delay(4);G15=0;G16=1;P2=taba(a-25)%10;delay(4);G16=0;G1=1;/北面led灯;P2=tabb0;delay(4);G1=0;G2=1;1313P2=tabb1;delay(4);G2=0;G3=1;/西面led灯;P2=tabb2;delay(4);G3=0;G4=1;P2=tabb3;delay(4);G4=0;G5=1;/南面led灯;P2=tabb4;delay(4);G5=0;G6=1;P2=tabb5;delay(4);G6=0;G7=1;/东面led灯;P2=tabb6;delay(4);G7=0;G8=1;P2=tabb7;delay(4);G8=0;if(a=53)operation_type=2;break;case2:G9=1;P2=tabaa/10;/北面数码管53delay(4);G9=0;G10=1;P2=tabaa%10;delay(4);G10=0;G11=1;P2=taba(a-50)/10;/西面数码管03delay(4);G11=0;G12=1;P2=taba(a-50)%10;delay(4);G12=0;G13=1;P2=taba(a-50)/10;/南面数码管03delay(4);G13=0;G14=1;P2=taba(a-50)%10;delay(4);G14=0;G15=1;P2=taba(a-25)/10;/东面数码管28delay(4);G15=0;G16=1;P2=taba(a-25)%10;delay(4);G16=0;G1=1;/北面led灯;P2=tabb8;delay(4);G1=0;G2=1;P2=tabb9;delay(4);G2=0;G3=1;/西面led灯;P2=tabb10;delay(4);G3=0;G4=1;P2=tabb11;delay(4);G4=0;1414G5=1;/南面led灯;P2=tabb12;delay(4);G5=0;G6=1;P2=tabb13;delay(4);G6=0;G7=1;/东面led灯;P2=tabb14;delay(4);G7=0;G8=1;P2=tabb15;delay(4);G8=0;if(a=49)operation_type=3;break;case3:G9=1;P2=tabaa/10;/北面数码管49delay(4);G9=0;G10=1;P2=tabaa%10;delay(4);G10=0;G11=1;P2=taba(a+25)/10;/西面数码管74delay(4);G11=0;G12=1;P2=taba(a+25)%10;delay(4);G12=0;G13=1;P2=taba(a-25)/10;/南面数码管24delay(4);G13=0;G14=1;P2=taba(a-25)%10;delay(4);G14=0;G15=1;P2=taba(a-25)/10;/东面数码管24delay(4);G15=0;G16=1;P2=taba(a-25)%10;delay(4);G16=0;G1=1;/北面led灯;P2=tabb16;delay(4);G1=0;G2=1;P2=tabb17;delay(4);G2=0;G3=1;/西面led灯;P2=tabb18;delay(4);G3=0;G4=1;P2=tabb19;delay(4);G4=0;G5=1;/南面led灯;P2=tabb20;delay(4);G5=0;G6=1;P2=tabb21;delay(4);G6=0;G7=1;/东面led灯;P2=tabb22;delay(4);G7=0;1515G8=1;P2=tabb23;delay(4);G8=0;if(a=27)operation_type=4;break;case4:G9=1;P2=tabaa/10;/北面数码管27delay(4);G9=0;G10=1;P2=taba(a-1)%10;delay(4);G10=0;G11=1;P2=taba(a+25)/10;/西面数码管52delay(4);G11=0;G12=1;P2=taba(a+25)%10;delay(4);G12=0;G13=1;P2=taba(a-25)/10;/南面数码管02delay(4);G13=0;G14=1;P2=taba(a-25)%10;delay(4);G14=0;G15=1;P2=taba(a-25)/10;/东面数码管02delay(4);G15=0;G16=1;P2=taba(a-25)%10;delay(4);G16=0;G1=1;/北面led灯;P2=tabb24;delay(4);G1=0;G2=1;P2=tabb25;delay(4);G2=0;G3=1;/西面led灯;P2=tabb26;delay(4);G3=0;G4=1;P2=tabb27;delay(4);G4=0;G5=1;/南面led灯;P2=tabb28;delay(4);G5=0;G6=1;P2=tabb29;delay(4);G6=0;G7=1;/东面led灯;P2=tabb30;delay(4);G7=0;G8=1;P2=tabb31;delay(4);G8=0;if(a=24)operation_type=5;break;case5:G9=1;P2=tabaa/10;/北面数码管241616delay(4);G9=0;G10=1;P2=tabaa%10;delay(4);G10=0;G11=1;P2=taba(a+25)/10;/西面数码管49delay(4);G11=0;G12=1;P2=taba(a+25)%10;delay(4);G12=0;G13=1;P2=taba(a+50)/10;/南面数码管74delay(4);G13=0;G14=1;P2=taba(a+50)%10;delay(4);G14=0;G15=1;P2=tabaa/10;/东面数码管24delay(4);G15=0;G16=1;P2=tabaa%10;delay(4);G16=0;G1=1;/北面led灯;P2=tabb32;delay(4);G1=0;G2=1;P2=tabb33;delay(4);G2=0;G3=1;/西面led灯;P2=tabb34;delay(4);G3=0;G4=1;P2=tabb35;delay(4);G4=0;G5=1;/南面led灯;P2=tabb36;delay(4);G5=0;G6=1;P2=tabb37;delay(4);G6=0;G7=1;/东面led灯;P2=tabb38;delay(4);G7=0;G8=1;P2=tabb39;delay(4);G8=0;if(a=2)operation_type=6;break;case6:G9=1;P2=tabaa/10;/北面数码管02delay(4);G9=0;G10=1;P2=tabaa%10;delay(4);G10=0;G11=1;P2=taba(a+25)/10;/西面数码管27delay(4);G11=0;G12=1;P2=taba(a+25)%10;1717delay(4);G12=0;G13=1;P2=taba(a+50)/10;/南面数码管52delay(4);G13=0;G14=1;P2=taba(a+50)%10;delay(4);G14=0;G15=1;P2=tabaa/10;/东面数码管02delay(4);G15=0;G16=1;P2=tabaa%10;delay(4);G16=0;G1=1;/北面led灯;P2=tabb40;delay(4);G1=0;G2=1;P2=tabb41;delay(4);G2=0;G3=1;/西面led灯;P2=tabb42;delay(4);G3=0;G4=1;P2=tabb43;delay(4);G4=0;G5=1;/南面led灯;P2=tabb44;delay(4);G5=0;G6=1;P2=tabb45;delay(4);G6=0;G7=1;/东面led灯;P2=tabb46;delay(4);G7=0;G8=1;P2=tabb47;delay(4);G8=0;if(a=0)operation_type=7;a=74;break;case7:G9=1;P2=taba(a-50)/10;/北面数码管24delay(4);G9=0;G10=1;P2=taba(a-50)%10;delay(4);G10=0;G11=1;P2=taba(a-50)/10;/西面数码管24delay(4);G11=0;G12=1;P2=taba(a-50)%10;delay(4);G12=0;G13=1;P2=taba(a-25)/10;/南面数码管49delay(4);G13=0;G14=1;P2=taba(a-25)%10;delay(4);G14=0;1818G15=1;P2=tabaa/10;/东面数码管74delay(4);G15=0;G16=1;P2=tabaa%10;delay(4);G16=0;G1=1;/北面led灯;P2=tabb48;delay(4);G1=0;G2=1;P2=tabb49;delay(4);G2=0;G3=1;/西面led灯;P2=tabb50;delay(4);G3=0;G4=1;P2=tabb51;delay(4);G4=0;G5=1;/南面led灯;P2=tabb52;delay(4);G5=0;G6=1;P2=tabb53;delay(4);G6=0;G7=1;/东面led灯;P2=tabb54;delay(4);G7=0;G8=1;P2=tabb55;delay(4);G8=0;if(a=52)operation_type=8;break;case8:G9=1;P2=taba(a-50)/10;/北面数码管02delay(4);G9=0;G10=1;P2=taba(a-50)%10;delay(4);G10=0;G11=1;P2=taba(a-50)/10;/西面数码管02delay(4);G11=0;G12=1;P2=taba(a-50)%10;delay(4);G12=0;G13=1;P2=taba(a-25)/10;/南面数码管27delay(4);G13=0;G14=1;P2=taba(a-25)%10;delay(4);G14=0;G15=1;P2=tabaa/10;/东面数码管52delay(4);G15=0;G16=1;P2=tabaa%10;delay(4);G16=0;G1=1;/北面led灯;P2=tabb56;1919delay(4);G1=0;G2=1;P2=tabb57;delay(4);G2=0;G3=1;/西面led灯;P2=tabb58;delay(4);G3=0;G

温馨提示

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

评论

0/150

提交评论