模拟交通灯课程设计_第1页
模拟交通灯课程设计_第2页
模拟交通灯课程设计_第3页
模拟交通灯课程设计_第4页
模拟交通灯课程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

《单片机微机原理及应用》题目:模拟交通灯的设计专业:测控技术与仪器班级:姓名:姓名:姓名:姓名:指导老师:2015年1月10日目录1、设计任务32、模拟交通灯控制系统工作原理42.1模拟交通灯控制系统的工作原理43、设计根本要求和步骤53.1根本要求53.2设计思路53.2设计步骤54、硬件和软件设计74.1交通灯控制系统硬件框图74.2硬件电路图94.3程序流程图105、心得体会136、附录145.1汇编语言源程序145.2模拟交通灯仿真效果图181、设计任务:模拟交通灯的设计1.1、模拟交通灯控制系统的总体方案设计本设计研究的是基于AT89C51单片机的交通灯智能控制系统的设计原理及阐述。主控系统采用AT89C51单片机作为控制器,控制通行倒计时及直行、行人的通行,占用端口少,耗电也最小。系统电源采用独立的+5V稳压电源,有各种成熟电路可供选用,使此方案可靠稳定。该设计精简并优化了电路。结合实际情况,显示界面采用点阵LED数码管动态扫描的方法,满足了倒计时的时间显示输出和状态灯提示信息输出的要求,减少系统的复杂度。2、交通灯控制系统工作原理2.1、交通灯控制系统工作原理本系统运用单片机对交通灯控制系统实施控制,通过直接控制信号灯的状态变化,指挥交通的具体运行,运用了LED数码管显示倒计时以提醒行驶者,更添加了盲人提示音电路,方便视力障碍群体通行,更具人性化。在此根底上,参加了特种车辆自动通行控制模块和车流量检测电路为系统采集数据,经单片机进行具体处理,及时调整通行方向。由此,本设计系统以单片机为控制核心,构成最小系统,根据特种车辆自动通行控制模块、车辆检测模块和按键设置模块等产生输入,由信号灯状态模块,LED倒计时模块输出。系统进入工作状态,LED数码管实时显示数据倒计时,执行交通灯状态显示控制,在此过程中假设有控制信号和实时车流量检测信号,可对异常状态进行实时控制,随时调用中断,到达修正通行时间满足不同时间不同路况的需求。3、设计根本要求和步骤十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。3.1根本要求模拟交通灯就是通过AT89C51并接数码管及发光二极管来模拟交通灯的变化规律。8个数码管用来显示秒值,东,西,南,北,各两个。12个发光二极管,东,西,南,北,各三个,分别为红,绿,黄,三种颜色。3.2设计思路本程序的设计思路是:首先南北方向绿灯亮,东西方向红灯亮,同时开始倒计时20s,在7段数码管上显示时间。当20s倒计时结束后,开始3s倒计时,并且南北方向绿灯开始闪烁,东西方向红灯亮。当3s倒计时结束后再开始2s倒计时,并且南北方向黄灯亮,东西方向还是红灯亮。当2s倒计时结束后开始20s的倒计时,此时是东西方向绿灯亮,南北方向红灯亮。接下来就是东西方向绿灯闪烁3s,再东西方向黄灯闪烁2s,接着又开始循环。3.3设计步骤Proteus仿真软件按以下要求绘制仿真实例12个发光二极管,东,西,南,北,各三个,分别为红,绿,黄,三种颜色。用8个共阳极LED数码管的分别表示东、西、南、北四个方向路口的秒值。2.按照根本要求编制程序实现相应功能。4、硬件和软件设计4.1交通灯控制系统硬件框图该交通灯控制系统有以下几个局部组成:单片机、驱示电路。P1P3AT89C51RST数码管十位数码管个位LED显示器南北方向LED显示器东西方向上电复位自动/手动键盘图1.2系统硬件组成总框图AT89C51引脚AT89C51单片机的主要工作特性:·内含4KB的FLASH存储器,擦写次数1000次;·内含28字节的RAM;·具有32根可编程I/O线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;AT89C51的工作电源电压为5〔1±0.2〕V且典型值为5V,最高工作频率为24MHz.AT89C51各局部的组成:外部中断TXDRXDP0P1P2P3扩展控制振荡器和时钟电路数据存储器128字节程序存储器14KBCPU两个16位定时器外部中断TXDRXDP0P1P2P3扩展控制振荡器和时钟电路数据存储器128字节程序存储器14KBCPU两个16位定时器计数器中断控制总线扩展控制器并行可编程I/O口可编程串行口内部总线4.2硬件电路图整体实验连接电路如以下图所示:图1整体实验连接电路图主程序开始4.3程序流程图主程序开始显示下一个状态秒值是否为0?秒值减1,并显示时间,LED是否到1s?设置定时,显示初始化显示下一个状态秒值是否为0?秒值减1,并显示时间,LED是否到1s?设置定时,显示初始化运行过程运行过程SN:绿灯(20),EW:红灯是否到1秒SN:黄灯亮,EW:红灯Count<10?SN:黄灯灭,EW:红灯是否到0秒NYYNNEW:绿灯(20),SN:红灯是否到3秒EW:黄灯亮,SN:红灯Count<10?EW:黄灯灭,EW:红灯是否到1秒YYYNNNLED显示区YLED显示程序LED显示程序ay获取当前通行剩余时间E/S/W/N状态送P1口位选码送P2口倒计时个/十位送P2口调用Delay延时加1两位显示完?YN返回主程序5、心得体会通过这次交通灯的课程设计,使我们得到了一次用专业知识、专业技能分析和解决现实问题的能力。使我们在单片机的根本原理、单片机应用学习过程中,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为一名合格的应用型人才打下良好的根底。综合课程设计让我们把以前学习到的知识得到稳固和进一步的提高认识,对已有知识有了更深层次的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,通过查阅相关书籍、资料以及交流得到解决。还有交通灯是我们生活中非常常见的一种东西,对于我们学以致用的这种能力得到了很好锻炼,能够为我们以后的工作于学习打下根底。由于我们的水平有限,设计中难免会有一些不合理的局部,系统的稳定性还有待提高。6、附录6.1汇编语言源程序SECOND EQU 30HH_RED BIT P2.1 ;定义IO端口H_YELLOW BI ORG 0000H LJMP MAIN ORG 0030HMAIN: MOV TMOD,#01H ;设置定时器0,为方式1 MOV TH0,#3CH ;置定时器的初始值,定时50ms MOV TL0,#0B0H CLR TF0 ;清定时器0溢出标志 SETB TR0 ;启动定时器START: CLR A MOV P1,A ;首先关闭显示 MOV P3,A;***********************************;状态1,东西方向绿灯亮,南北方向红灯亮;*********************************** MOV R2,#20 MOV R3,#21 MOV SECOND,#20 ;20秒初值 LCALL STATE1 LCALL COUNT;***********************************;状态2,东西方向绿灯闪,南北方向红灯亮;***********************************MOV R0,#01H ;标志位,南北方向绿灯闪MOV R2,#2 MOV R3,#4 MOV R4,#10 MOV SECOND,#3 ;3秒初值 LCALL DISPLAY LCALL STATE2 LCALLCOUNT1;***********************************;状态3,东西方向黄灯闪,南北方向红灯亮;***********************************MOVR0,#02H ;标志位,南北方向黄灯闪MOV R2,#2 MOV R3,#3 MOV R4,#10 MOV SECOND,#2 ;2秒初值 LCALL STATE3 LCALLCOUNT1;************************************;状态4,东西方向红灯亮,南北方向绿灯亮;************************************ MOV R2,#20 MOV R3,#21 MOV SECOND,#20 ;20秒初值 LCALL STATE4 LCALL COUNT;************************************;状态5,东西方向红灯亮,南北方向绿灯闪;************************************ MOVR0,#03H ;标志位,东西方向绿灯闪 MOV R2,#2 MOV R3,#4 MOV R4,#10 MOV SECOND,#3 ;3秒初值 LCALL STATE5 LCALLCOUNT1;************************************;状态6,东西方向红亮,南北方向黄灯闪;************************************ MOVR0,#04H ;标志位,东西方向黄灯闪 MOV R2,#2 MOV R3,#3 MOV R4,#10 MOV SECOND,#2 ;2秒初值 LCALL STATE6 LCALLCOUNT1 LJMPSTART;************************************;计时程序;************************************COUNT: LCALL DISPLAYWAIT1: JNB TF0,WAIT1 ;定时器50ms未到,那么等待 CLR TF0 ;定时器50ms到了,;清定时器0溢出标志 MOV TH0,#3CH MOV TL0,#0B0H LCALL DISPLAY DJNZ R2,WAIT1 ;是否到1秒 MOV R2,#20 DEC SECOND ;到1秒那么秒值减1 DJNZ R3,WAIT1 ;20秒是否倒计时减完,未完那么返回 RETCOUNT1: LCALL DISPLAYWAIT2: JNB TF0,WAIT2 CLR TF0 MOV TH0,#3CH MOV TL0,#0B0H LCALL DISPLAY DJNZ R4,WAIT2 ;是否到500ms,未到那么返回 CJNER0,#01H ,D1 CPLL_GREEN ;到了500ms,那么闪南北方向绿灯D1: CJNER0,#02H ,D2 CPLL_YELLOW ;闪南北方向黄灯D2: CJNER0,#03H ,D3 CPLH_GREEN ;闪东西方向绿灯D3: CJNER0,#04H ,D4 CPLH_YELLOW ;闪东西方向黄灯D4: MOV R4,#10 DJNZ R2,WAIT2 ;是否到1秒 MOV R2,#2 DEC SECOND DJNZ R3,WAIT2 RET;********************************;LED显示状态;********************************STATE1: SETB H_RED ;东西方向绿灯亮,南北方向红灯亮 CLR H_GREEN CLR H_YELLOW CLR L_RED SETB L_GREEN CLR L_YELLOW RETSTATE2: CLR H_GREEN ;东西方向绿灯闪,南北方向红灯亮 CLR H_YELLOW CLR L_RED CLR L_GREEN CLR L_YELLOW RETSTATE3: CLR H_RED ;东西方向黄灯闪,南北方向红灯亮 CLR H_YELLOW SETB H_RED CLR L_GREEN SETB L_YELLOW RETSTATE4: CLR H_RED ;东西方向红灯亮,南北方向绿灯亮 SETB H_GREEN CLR H_YELLOW SETB L_RED CLR L_GREEN CLR L_YELLOW RETSTATE5: CLR H_RED ;东西方向红灯亮,南北方向绿灯闪 SETB H_GR

温馨提示

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

评论

0/150

提交评论