单片机交通信号灯控制系统设计_第1页
单片机交通信号灯控制系统设计_第2页
单片机交通信号灯控制系统设计_第3页
单片机交通信号灯控制系统设计_第4页
单片机交通信号灯控制系统设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

题目 学院:信息科学与工程学院专业:自动化学号:202104134129学生姓名:王威指导教师:日期:2021.1.9基于单片机的交通灯控制系统设计与实现一、目的本文以AT89S51单片机为核心器件,设计了多功能交通灯控制系统。软件仿真和硬件实现的结果表明该系统具有红绿灯显示功能、时间倒计时显示功能、左转提示和紧急情况发生时手动控制等功能。由于计算机技术、自动控制技术和人工智能技术不断发展,城市交通的智能控制有了良好的技术基础,各种交通方案实现的可能性大大提高。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。本文设计的交通灯管理系统在实现了现代交通灯系统的基本功能的基础上,增加了左转提示和紧急情况(重要车队通过、急救车通过等)发生时手动控制等功能。二、交通方案交通灯控制系统控制东西、南北两个方向信号灯,每个方向设置两组红绿灯,红灯禁止通行,绿灯允许通行。每个方向的通行时间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁。系统上电时的初始状态为东西、南北两个方向均为红灯,持续2秒后为东西方向绿灯,南北方向红灯,之后以定时方式控制两个方向的汽车轮流通行。三、电路设计1、电源电路设计:由于单片机工作时需要的+5V电压,所以在设计电源电路时,需要一个电子元件能提供+5V电压,本文采用7805提供5V的电压,即在7805的1脚和公共接地端(即2脚)之间接入0.3μF的电容,在公共接地端和三脚+5V电压输出端之间接入0.1μF的电容。2、复位电路设计:MCS-51的复位输入引脚RST为MCS-51提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000H地址单元开始执行程序。在MCS-51的时钟电路工作后,只要RST引脚上出现10ms以上的高电平时,单片机内部则初始复位。只要RST保持高电平,则MCS-51循环复位。只有当RST由高电平变低电平以后,MCS-51才从0000H地址开始执行程序。3、时钟电路设计:MCS-51的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另外一种为外部方式。本文根据实际需要和简便,采用内部振荡方式.MCS-51内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端.这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器。MCS-51虽然有内部振荡电路,但要形成时钟,必须外接元件所以实际构成的振荡时钟电路.外接晶体以及电容C1和C2构成并联谐振电路接在放大器的反馈回路中。对接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。晶体频率可在1.2MHz~12MHz之间任选,电容C1和C2的典型值在20pF~100pF之间选择,考虑到本系统对于外接晶体的频率稳定性要求不高,所以采取比较廉价的陶瓷谐振器。由于本系统应用的机器周期为1μs,所以晶振选择为12MHz,根据调试电容选择30pF。在硬件电路焊接时,晶体或陶瓷振荡器和电容应该尽可能地与单片机芯片靠近,以减少寄生电容,可以更好地保证振荡器稳定和可靠的工作。4、数码时间显示电路:七段LED数码管是有八个发光二极管构成,通过给其引脚不同的高低电平,从而显出0~9的数字和小数点。本文的交通灯数字显示部分,通过将四个一位数码管并联通过P1口控制作为个位实时显示,四个数码管并联通过P3口控制作为十位实时显示,但考虑到单片机的系统功耗问题以及焊接电路后的实际显示效果等,本部分的电路中又引入一7805进行单独供电。交通灯的时间倒计时显示部分是通过将数码管分别与单片机的P1口和P3口连接,通过单片机内部已经烧录好的程序,对P1口和P3口进行电平输出控制,从而实现数码管的倒计时时间显示。5、信号灯电路设计:本部分电路设计,应用单片机的P0口对直行方向提示灯控制,P2口对左转方向提示灯控制。其中P0.0、P0.1两个输出控制口,分别控制东西方向上的绿灯、红灯。P0.2、P0.3两个输出控制口,分别控制南北方向上的绿灯、红灯。四、软件设计本设计使用keil软件完成该系统的软件设计.通过新建源文件、建立工程文件、编译和连接,最后生成所需单片机烧录的HEX文件。1、软件设计程序流程图:2、Proteus软件仿真南北通行开始南北通行开始中断?中断程序 返回?K0=0??K1=0?DX=0?东西通行中断?中断程序NB=0?K0=0?K1=0?返回?NYNYYNNYNNNNNNYYYYYY五、课程设计体会通过这次单片机课程设计,我深刻体会到自己实际操作能力的匮乏。从刚开始老师对单片机的整体介绍及其应用前景,对单片机产生了浓厚的兴趣,并利用自己的课余时间提前学习有关单片机的基本知识。但空有理路知识,却无半点的实际操作经验。后来在同学的建议下,选择运用单片机设计一个交通灯控制系统,从简单开始,后期逐步复杂化。从给定电路图的分析到后期的程序设计以及系统调试,初步掌握了运用单片机系统设计特定功能的设计步骤,也对单片机有了更深的体会。了解和掌握了一些简单的编程思想,对单片机各管脚的功能,I/O口的使用条件都有了更深的理解。这次的课程设计让我把单片机的理论知识运用的实践中,实现了理论与实践的相结合,从中更懂得了理论是实践的基础,实践更能检验理论的真实性,让我受益匪浅。附录1源程序代码 //#include<REG51.H> #include<AT89X51.H> //对单片机的口进行了定义#defineuintunsignedint#defineucharunsignedcharucharcodea[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码组合,共阴极ucharcodeb[4]={0xfe,0xfd,0xfb,0xf7};//位码组合 低有效ucharcode c[4]={0xcc,0xd4,0x78,0xb8};/*P1绿红、黄红、红绿、红黄*/ //12MHz //*************************************************************************************ucharNB=25,DX=30,NBG=25,DXG=15,H=5; /*数码管显示值设置*/uchari,k=0,cnt=0,j=0;sbitK0=P3^5; /*支干道通行*/sbitK1=P3^6; /*主干道通行*/sbitK4=P3^7; /*返回*/sbitK3=P3^2; /*设置时间*/sbitK2=P3^3; /*紧急刹车*/voiddelay(uchart); /*定义延时程序*/voidkey(); /*定义键盘程序*/voiddisplay(); /*定义显示程序*/voidsettime(); /*定义时间设置显示程序*///*************************程序初始*********************************************voidinit(void){ TMOD=0x01; /*使用定时器0模式一*/ TH0=0x3c; /*(65536-5000)/256*/ TL0=0xb0; /*(65536-5000)%256*/ IT0=1; //开中断 ET0=1; TR0=1; EA=1; EX0=1; EX1=1; P1=c[k]; //开启交通灯}//*************************中断0处理程序***************************************voidint0(void)interrupt0 // 通行时间设置{ EA=0;P1=0xd8; /*红灯全亮*/for(;;) { settime(); if(K1==0) /*P3^6=0设置主干道通行时间*/ {delay(40);if(K1==0) {while(!K1){settime();} NBG++; /*主干道通行时间加1*/if(NBG==100)NBG=0; } } if(K0==0) /*P3^5=0设置支干道通行时间*/ {delay(40);if(K0==0) {while(!K0){settime();} DXG++; /*支干道通行时间加1*/if(DXG==100)DXG=0; } } if(K4==0) /*P3^7=0返回*/{ delay(40); if(K4==0) { while(!K4) { } k=0;P1=c[k]; NB=NBG,DX=NBG+H; display(); EA=1; break; } }}}/***********************************中断1处理程序********************voidint1(void)interrupt2 //紧急情况{ /*东西南北红灯亮*/ EA=0; TR0=!TR0; /*停止计数*/ for(;;) /*主支干道显示全为0*/ {P1=0xd8,P0=a[0]; P2=0xfe; delay(20); P2=0xfd; delay(20); P2=0xfb; delay(20); P2=0xf7; delay(20); if(K4==0) /*返回*/ { delay(20); EA=1; P1=c[k]; /*返回紧急前状态开始计数*/ TR0=!TR0; /*重启计数*/ break; } }}voidtime1(void)interrupt1 /*交通灯控制程序*/{ TH0=0x3c; /*定时50ms*/ TL0=0xb0; cnt++; if(cnt>=20) /*每20*50ms=1s自减一*/ { NB--; DX--; cnt=0; if(NB==0||DX==0) { k++; if(k>3) /*k取0,1,2,3*/ k=0; switch(k) { case0:NB=NBG,DX=NBG+H;j=0;P1=c[k];break; case1:NB=H;j=1;P1=c[k];break; case2:NB=DXG+H,DX=DXG;j=0;P1=c[k];break; case3:DX=H;j=2;P1=c[k];break; } } }}voiddelay(uchart) //延时程序延时0.1*nms{uchari;do{for(i=0;i<20;i++);;;}while(t--);}

公司印章管理制度一、目的公司印章是公司对内对外行使权力的标志,也是公司名称的法律体现,因此,必须对印章进行规范化、合理化的严格管理,以保证公司各项业务的正常运作,由公司指定专人负责管理。二、印章的种类公章,是按照政府规定,由主管部门批准刻制的代表公司权力的印章。专用章,为方便工作专门刻制的用于某种特定用途的印章,如:合同专用章、财务专用章、业务专用章、仓库签收章等。3、手章(签名章),是以公司法人代表名字刻制的用于公务的印章。三、印章的管理规定印章指定专人负责保管和使用,保管印章的地方(桌、柜等)要牢固加锁,印章

温馨提示

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

最新文档

评论

0/150

提交评论