基于-单片机交通灯系统设计_第1页
基于-单片机交通灯系统设计_第2页
基于-单片机交通灯系统设计_第3页
基于-单片机交通灯系统设计_第4页
基于-单片机交通灯系统设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、-PAGE . z摘要本设计是以微电子技术,计算机和通信技术为先导的,而计算机技术怎样与实际应用更有效的结合并充分发挥其作用是科学界最热门的话题,也是当今计算机应用中空前活泼的领域。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。则靠什么来实现这种井然秩序呢.靠的就是交通信号灯自动指挥系统。交通信号灯控制方式有很多种,本系统由AT89C51单片机、按键、数码管显示、交通灯演示系统组成。设计一个用于东西、南北走向的交通管理系统。系统除根本的交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。本系统构造简单,操作方便,可实现自动控

2、制,具有一定的智能性,对优化城市交通具有重要的意义。本设计将任务进展细分包装,使其保持相对独立;能有效改善程序构造,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。在自动控制和实时监测的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,设计中应根据具体硬件构造软硬件结合,加以完善。 关键词:单片机;AT89C51;交通灯;设计;实现目录1 概述31.1设计背景31.2设计任务32 系统总体方案及硬件设计42.1AT89S52单片机简介42.2 系统硬件电路的设计43软件设计73.1 交通灯的设计程序流程图73.2定时器0及中断响应84 Pro

3、teus软件仿真104.1仿真电路图 104.2 仿真步骤105 课程设计体会11参考文献11附1:源程序代码 12附2:系统原理图181 概述1.1 设计背景如今随着人们生活水平的提高,车辆越来越多,交通事故频繁发生。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。交通灯在城市交通中起着重要的作用,它与人们日常生活密切相关,是人们出行的平安保障。因此提供一个可靠、平安、便捷的多功能交通灯控制系统有着现实的必要性。为了解决这些问题,我们更应该提高交通控制和管理水平,合理使用现有交通设施,充分发挥其能力,提高交通效率,促进和谐交通的建立。近年来随

4、着科技的飞速开展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件构造,以及针对具体应用对象特点的软件结合,加以完善。本系统设计一个基于单片机的交通灯控制系统。能方便的对交通灯进展控制,使交通更和谐。1.2设计任务1设计一个十字路口的交通灯控制电路,要求南北方向主干道车道和东西方向支干道车道两条穿插道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改。2在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;3黄灯亮时

5、,要求每秒闪亮一次。4东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进展显示采用计时的方法。5一道有车而另一道无车实验时用开关 K0 和 K1 控制,交通灯控制系统能立即让有车道放行。 6有紧急车辆要求通过时,系统要能制止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。2 系统总体方案及硬件设计2.1 AT89S52单片机简介AT89S52是一种低功耗、高性能CMOS8位微控制器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的

6、解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断构造,全双工串行口,片晶振及时钟电路。空闲模式下,CPU停顿工作,允许RAM、定时器/计数器、串口、中断继续工作。鉴于以上的优点本系统采用AT89S52作为主控芯片,实现对整个系统的控制。2.2 系统硬件电路的设计1时钟电路设计图2-1时钟电路原理图如图2-1所示,采用部时钟产生方式,在*TAL1和*TAL2两端跨接晶体或瓷振荡器,与部反相器构成稳定的自击荡器。其发出的时钟脉冲直接送入片定时控制部件。2复位电路设计图2-2上电

7、+按钮电平复位电路原理图如图2-2所示,采用上电+按钮电平复位方式,当按下按钮时,RST管脚高电平触发。为保证复位可靠,RC时间常数应大于两个机器周期,一般电容去22uF,电阻取1K。3灯控制电路设计 图2-3交通灯状态显示电路如图2-3所示,交通灯状态显示电路由东西南北四个方向各三个LED灯组成,分别显示四个方向上红、黄、绿三个状态,用以指示十字路口各方向车辆的行驶。通过软件编程,可使路口交通变化情况为:南北方向主干道车道和东西方向支干道车道两条穿插道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒;在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;黄灯亮时

8、每秒闪亮一次。4倒计时显示电路设计图2-4 数码管显示电路原理图如图2-4所示,由一个共阳极四位数码管来实现倒计时。由于P0口输出电流小,需外接上拉电阻,E端接5V电源。5按键控制电路设计图2-5键盘电路原理图如图2-5所示,开光控制由PD1-PD5四个连接到单片机的控制按钮组成。通过软件编程,按下PD1电路进入外部中断响应,数码显示时间将停顿倒计时,此时,可通过按钮PD3和PD4设置通行时间,每按一下PD3时间增加1s,而按下PD4时间减少1s。按下PD5将使程序重新进入循环点亮状态。3软件设计3.1 交通灯的设计程序流程图南北通行开场中断.中断程序返回.K0=0.K1=0.D*=0.东西通

9、行中断.中断程序NB=0K0=0K1=0返回.NYNYYNNYNNNNNNYYYYYY3.2定时器0及中断响应定时溢出计数初值加一开场 N定时器0初始化 Y计数初值=99. N Y计数初值=04 Proteus软件仿真4.1 仿真图4.2 仿真步骤1根据电路图选择器件连接电路2双击AT89S52装入源程序编译生成的HE*文件3单击运行按钮运行仿真4根据仿真情况与程序实现任务比照,对于不能实现的任务修改并调试程序,重新装载重新运行调试仿真,直到能完全实现所要求的功能为止5进一步改良和简化程序在进展调试仿真5 课程设计体会通过这次单片机实训课程学习,才深刻体会到自己实际操作能力的匮乏。从刚开场教师

10、对单片机的整体介绍及其应用前景,对单片机产生了浓厚的兴趣,并利用自己的课余时间提前学习有关单片机的根本知识。但空有理路知识,却无半点的实际操作经历。后来在教师的建议下,选择运用单片机设计一个交通灯控制系统,从简单开场,后期逐步复杂化。从给定电路图的分析到实际电路元件的识别、焊接,再到后期的程序设计以及系统调试,初步掌握了运用单片机系统设计特定功能的设计步骤,也对单片机有了更深的体会。了解和掌握了一些简单的编程思想,对单片机各管脚的功能,I/O口的使用条件都有了更深的理解。这次的课程设计让我把单片机的理论知识运用的实践中,实现了理论与实践的相结合,从中更懂得了理论是实践的根底,实践更能检验理论的

11、真实性,让我受益匪浅。参考文献:1 朝青.单片机原理及接口技术修订版.:航空航天大学,19982 广弟.单片机根底.:航空航天大学,19923 何立民.单片机应用技术大全.:航空航天大学, 19944 毅刚. 单片机原理及接口技术.:工业大学,19905 谭浩强.单片机课程设计. :清华大学,19896 余发山.单片机原理及应用技术 :中国矿业大学,2007附录1 源程序代码 /*include *include / 对单片机的口进展了定义*define uint unsigned int*define uchar unsigned charuchar code a10=0*3f,0*06,0

12、*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f;/段码组合,共阴极uchar code b4=0*fe,0*fd,0*fb,0*f7; /位码组合 低有效uchar code c4=0*cc,0*d4,0*78,0*b8;/*P1 绿红、黄红、红绿、红黄*/ /12MHz /*uchar NB=25,D*=30,NBG=25,D*G=15,H=5; /*数码管显示值设置*/uchar i,k=0,t=0,j=0; sbit K0=P35; /*支干道通行*/sbit K1=P36; /*主干道通行*/sbit K4=P37; /*返回*/sbit K3=P32;/

13、*设置时间*/sbit K2=P33;/*紧急刹车*/void delay(uchar t);/*定义延时程序*/void key();/*定义键盘程序*/void display();/*定义显示程序*/void settime();/*定义时间设置显示程序*/*程序初始*void init(void)TMOD=0*01; /*使用定时器0模式一*/TH0=0*3c; /*(65536-5000)/256*/TL0=0*b0; /*(65536-5000)%256*/IT0=1; /开中断ET0=1;TR0=1;EA=1;E*0=1;E*1=1;P1=ck; /开启交通灯/*中断0处理程序*

14、void int0(void) interrupt 0 /通行时间设置 EA=0; P1=0*d8;/*红灯全亮*/for(;) settime(); if(K1=0) /*P36=0设置主干道通行时间*/ delay(40); if(K1=0) while(!K1) settime(); NBG+;/*主干道通行时间加1*/ if(NBG=100) NBG=0; if(K0=0) /*P35=0设置支干道通行时间*/ delay(40); if(K0=0) while(!K0) settime(); D*G+;/*支干道通行时间加1*/ if(D*G=100) D*G=0; if(K4=0)

15、 /*P37=0返回*/ delay(40); if(K4=0) while(!K4) k=0;P1=ck; NB=NBG,D*=NBG+H; display(); EA=1; break; /*中断1处理程序*void int1(void) interrupt 2 /紧急情况 /*东西南北红灯亮*/EA=0;TR0=!TR0; /*停顿计数*/for(;) /*主支干道显示全为0*/ P1=0*d8,P0=a0; P2=0*fe; delay(20); P2=0*fd; delay(20); P2=0*fb; delay(20); P2=0*f7; delay(20); if(K4=0) /

16、*返回*/ delay(20);EA=1;P1=ck; /*返回紧急前状态开场计数*/TR0=!TR0;/*重启计数*/break; void time1(void) interrupt 1/*交通灯控制程序*/TH0=0*3c;/*定时50ms*/TL0=0*b0; t+;if(t=20) /*每20*50ms=1s自减一*/NB-;D*-;t=0;if(NB=0|D*=0)k+;if(k3)/*k取0,1,2,3*/k=0;switch(k)case 0:NB=NBG,D*=NBG+H;j=0;P1=ck;break; /*主干道通行显示绿红*/ case 1:NB=H;j=1;P1=ck;break; /*主干道黄灯闪烁*/case 2:NB=D*G+H,D*=D*G;j=0;P1=ck;break; /*支干道通行显示红绿*/case 3:D*=H;j=2;

温馨提示

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

评论

0/150

提交评论