通交灯控制系统设计单片机交通灯课程设计--大学毕设论文.doc
-
资源ID:92948679
资源大小:277KB
全文页数:19页
- 资源格式: DOC
下载积分:8金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
通交灯控制系统设计单片机交通灯课程设计--大学毕设论文.doc
烟台大学 交通灯控制系统设计v单片机课程设计交通灯系统控制 姓名:仅供参考,莫转载组员:仅供参考,莫转载班级:仅供参考,莫转载学号:仅供参考,莫转载指导教师:仅供参考,莫转载烟台大学机电汽车工程学院目录摘要 .(2)第一章 绪论.(3)1.1 概述1.2 设计目的1.3 设计任务和内容1.4 设计要求1.5 框图设计第二章 硬件设计. (7)2.1 总体设计2.2 电路原理图2.3 元件清单第三章 软件设计.(11)3.1 程序流程图3.2 程序清单参考文献 .(14)设计总结 .(15)附录 .(16)摘要交通在人们的日常生活中占有重要的地位,随着我国经济的高速发展,私家车、公交车的增加,无疑会给我国道路交通系统带来沉重的压力,很多大城市都不同程度的受到交通堵塞问题的困扰。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本设计采用AT89S52单片机为中心器件来设计交通灯控制器,系统使用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、紧急情况中断系统、复位电路等几大部分组成;软件上采用汇编语言编写主程序、中断程序、延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。第一章 绪论1.1 概述近几年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动传动系统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据硬件结构,以及针对对具体应用对象特点的软件结合,加以完善。交通信灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1.2 设计目的(1)加强对单片机和汇编语言的认识,充分掌握和理解设计的工作原理、设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。(2)用单片机模拟实现具体应用,使个人设计能够真正使用。(3)把理论知识与实践相结合,充分发挥个人能力,在实践中锻炼。(4)提高利用已学过的知识分析和解决问题的能力。(5)提高实践动手能力。1.3 设计任务和内容1.3.1设计任务结合教材及参考资料,用AT89S52单片机模拟实现十字路口的交通灯亮灭、倒计时显示、紧急情况处理等功能。1.3.2设计内容(1)填写设计任务书。(2)进行总体设计,画出原理图。(3)利用AutoCAD软件画出PCB板。(4)编写并调试程序。1.4 设计要求用AT89S52单片机控制一个交通信号灯系统,晶振12Hz。假设A车道与B车道交叉组成十字路口,A是主道,B是直道。设计要求如下:(1) 用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。(2) 正常情况下,A、B两车道轮流放行,A车道放行50s,其中五秒用于警告;B车道放行30s,其中5s用于警告。(3) 在交通繁忙时,交通信号灯控制系统应有手控开关,可认为的改变信号灯的状态,以缓解交通拥挤的状况。在B道放行期间,若A道有车而B道无车,按下开关K1使A车道放行15s;在A车道放行期间,若B车道有车而A车道无车,按下K2使B车道放行15s。(4) 有紧急车辆通过时,按下K3开关使A、B车道均为红灯,禁行20s。1.5系统设计交通控制系统主要控制A、B两车道的交通,以AT89S52单片机为核心芯片,通过控制三色LED的亮灭来控制各车道的通行;另外通过3个按键来模拟各车道有无车辆的情况和有紧急车辆的情况。根据设计要求,制定总体设计思想如下:正常情况下运行主程序,采用0.5s延时子程序的反复调用来实现各种定时时间。一道有车而另一道无车时,采用外部中断1执行中断服务程序,并设置该中断为低优先级中断。有紧急车辆通过时,采用外部中断0执行中断服务程序,并设置该中断为高优先级中断,实现二级中断嵌套。1.6 框图设计基于AT89S52单片机的交通信号灯控制系统有电源电路、单片机主控电路、按键控制电路和道路显示电路几部分组成,框图如1-1所示。按键电路晶振电路复位电路电源电路AT89S52单片机驱动电路电路B道LED显示电路A道LED显示电路1.7 知识点本项目需要学习和查阅资料,掌握和了解如下知识: +5V电源原理及设计。 单片机复位电路工作原理及设计。 单片机晶振电路工作原理及设计。 按键电路的设计。 驱动电路74LS07的特性及使用。 LED的特性及使用。 AT89S52单片机引脚。 单片机汇编语言及程序设计。第二章 硬件设计2.1 总体设计整个设计以AT89S52单片机为核心,由I/O扩展,LED数码管显示,紧急情况中断电路,复位电路组成。硬件模块如图示:AT89S52单片机I/O扩展LED数码显示紧急中断系统复位电路图2-1 基于AT89S52单片机的交通信号灯控制系统框图2.2 电路原理图用十二只发光二级管模拟交通信号灯,以AT89S52单片机的P1口控制着12只发光二级管,由于单片机带负载的能力有限,因此,在P1口与发光二级管之间用74LSO7作驱动电路,P1口输出低电平时,信号灯亮;输出高电平时,信号灯灭。在正常情况和交通繁忙时,A、B两车道的6只信号灯的控制状态有5种形式,即P1口控制功能及相应控制码如图表2-2所示。分别以按键K1、K2模拟A、B道的车辆检测信号,开关K1按下时,A车道放行;开关K2按下时,B车道放行;开关K1和K2的控制信号经异或取反后,产生中断请求信号(低电平有效),通过外部中断1向CPU发出中断请求;因此产生外部中断1中断的条件为:INT1=K1+K2,可集成块74S266来实现(此处用74LS86与74LS04组合实现)。采用中断加查寻扩展法,可以判断出要求放行的是A车道(按下车道K1)还是B车道(按下开关K2)。以按键K0模拟紧急车辆通过开关,当K0为高电平时属于正常情况,当K0为低电平时,属于紧急车辆通过情况,直接将K0信号接至INT0(P3.2)脚即可实现外部中断0中断。2.4 单片机AT89S52芯片AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,AT89S52拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。表2-2 交通信号灯与控制状态对应关系控制状态P1控制口P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0未用未用B道绿灯B道黄灯B道红灯A道绿灯A道黄灯B道红灯A道放行B道禁止A道放行B道禁止A道放行B道禁止A道放行B道禁止A道放行B道禁止F3HF5HDEHEEHF6H1111111111110111110100110011111011111000综上所述,可设计出基于AT89S52单片机控制信号灯模拟控制系统的电路图见附录。2.4 元件清单基于AT89S52单片机的交通信号灯控制系统元件清单如表2-4所示。表2-4交通信号灯控制系统元件清单元件名称型号数量用途元件名称型号数量用途单片机AT89S521控制核心集成块74LS041按键电路晶振12MHz1晶振电路集成块74LS861按键电路电容30pF2晶振电路电阻4.7k2按键电路电解电容10uF1复位电路按键4按键电路电阻10k1复位电路电阻30012LED限流驱动器74LS071LED驱动电源+5v1提供+5v发光二级管LED12黄、红、绿灯2.5 74LS07驱动器74LS07是六高压输出缓冲驱动器,其引脚图和逻辑图第三章 软件设计主程序采用查询的方式定时,由R2寄存器确定调用0.5s延时子程序的次数,从而获取交通灯的各种时间。子程序采用定时器1方式1查询定时,定时器定时50ms,R3寄存器确定50ms循环10次,从而获取0.5s的延时时间。有车车道循环放行的中断服务程序首先要保护现场,因为需要用到延时子程序和P1口,故需要保护的寄存器有R3、P1、TH1、TL1,保护现场是还要关中断,以防止高优先级中断(紧急车辆通过所产生的中断)出现导致程序混乱。开中断,由软件查询P3.0和P3.1口,判断哪一道有车,再根据查询情况执行相应的服务,待交通灯信号出现后延时20s,确保紧急车辆通过交叉路口,然后,恢复现场,返回主程序。3.1 程序流程图交通信号灯模拟控制系统程序流程图如图3-1所示。3.2 程序清单交通灯模拟控制系统程序清单见附录。有车车道放行时的中断服务程序中断响应关中断保护现场开中断A道有车吗?A绿灯、B红灯A道有车吗?A绿灯、B红灯延时5s关中断恢复现场开中断返回NYNY主 程 序紧急情况时的中断程序返回恢复现场延时20sA红灯、B红灯保护现场中断响应主程序初始化A绿灯、B红灯延时45sA绿灯闪烁3次A黄灯、B红灯延时2s延时25sA红灯、B绿灯B绿灯闪烁3次A红灯、B黄灯参考文献1单片机原理及应用,李华,王思明,兰州大学出版社,20092单片机基础M.北京,李广弟,北京航空航天大学出版社,19943单片机实用系统设计技术M.北房小翠,国防工业出版社,19994单片机原理及接口技术,胡汉才,清华大学出版社,1995 5单片机课程设计指导,李光飞,北京航空航天大学出版社,2007设计总结本系统就是充分利用了AT89S52芯片的I/O引脚。系统采用了MSC-51系列单片机AT89S52为中心器件来设计模拟交通灯控制器,实现了能根据实际车流量通过S52芯片的P0口设置主干道A红、绿灯燃亮时间的功能;P1控制次干道B红绿灯燃亮时间,以及紧急情况下的中断。系统不足之处不能控制车的左右转、以及自动根据车流改变红绿灯时间等,由于本身地理位置以及车流量情况所定,如果有需要可以设计扩充原系统来实现。通过课程设计,使得我得到了一次用专业知识、专业技能分析、团队合作和解决问题全面系统的锻炼。在设计过程中发现自己的不足,及时请教老师和同学,或者上网查找相应的资料,对自己的知识是一个很大的补充,也加深了对所学知识的更深理解使我在单片机的原理、单片机应用系统开发过程中,以及在汇编程设计思路技巧的掌握方向都迈进了一步,为以后成为应用型人才打下了基础。 附录2: 源程序ORG 0003HLJMP INTT0 ;转向紧急车辆中断服务程序ORG 0013HLJMP INTT1 ;转向有车车道中断服务程序ORG 0200HMAIN: MOV SP, #30HSETB PX0 ;置外部中断0为高优先级中断MOV TCON , #00H ;置外部中断0、1为电平触发MOV TMOD, #10H ;置定时器1为方式1MOV IE, #85H ;开CPU中断,开外中断0、1中断LOOP: MOV P1, #0F3H ;A道绿灯放行,B道红灯放行MOV R1, #90H ;置0.5s循环次数(0.5×90=45s)DIP1: ACALL DELAY ;调用0.5s延时子程序DJNZ R1, DIP1 ;45s不到继续循环MOV R1, #06H ;置A绿灯闪烁循环次数WAN1: CPI P1.2 ;A绿灯闪烁ACALL DELAY ;闪烁次数未到继续循环DJZN R1, WAN1 ;A黄灯警告,B红灯禁止MOV P1, #0F5H ;置0.5s循环次数(0.5×4=2)YL1: ACALL DELAY DJZN R1, YL1 ;2s未到继续循环MOV P1, #0DEH ;A红灯,B绿灯MOV R1, #32H ;置0.5s循环次数(0.5×50=25)DIP2: ACALL DELAY DJNZ R1, DIP2 ;25s未到继续循环DJNZ R1, #06HWAN2: CPL P1.5 ;B绿灯闪烁 ACALL DELAY DJNZ R1,WAN2MOV P1, #0EEH ;A红灯,B黄灯MOV R1, 04HYL2: ACALL DELAY DJNZ R1, YL2 AJMP LOOP ;循环执行主程序INTT0:PUSH P1 ;P1口数据呀栈保护PUSH TH1 ;TH1压栈保护PUSH TL1 ;TL1压栈保护MOV P1, #0F6H ;A、B道均为红灯MOV R2, #40H ;置0.5s循环初值(20s)DEY0: ACALL DELAYDJNZ R2, DEY0 ;20s未到继续循环POP TL1 ;弹栈恢复现场POP TH1POP P1RETI ;返回主程序INTT1: CLR E ; 关中断PUSH P1 ;压栈保护现场PUSH TH1PUSH TL1SETB EA ;开中断JB P3.0, BOP ;A道无车转向B道MOV P1, #0F3H ;A道绿灯,B道红灯SJMP DEL1 ; 15s延时BOP: JB P3.1, EXIT ;B道无车退出中断MOV P1, #0DEH ;A红灯,B绿灯DEL1: MOV R5, #30 ;置0.5s循环初值NEXT: ACALL DELAYDJNZ R5,NEXT ;15s未到继续循环EXIT: CLR EAPOP TL1 ;弹栈恢复现场POP TH1POP P1SETB EARETIDELAY: MOV R3, #0AH ;0.5s子程序(50ms×10=0.5)MOV TH1, #3CH ;置50ms初值X=CB0HMOV TL1,#0B0HSETB TR1LP1: JBC TF1, LP2SJMP LP1LP2: MOV TH1, #3CHMOV TL1, #0B0HDJZN R3, LP1RETEND- 18 -