定时交通信号灯控制设计.docx

上传人:小飞机 文档编号:2083719 上传时间:2023-01-08 格式:DOCX 页数:27 大小:108.34KB
返回 下载 相关 举报
定时交通信号灯控制设计.docx_第1页
第1页 / 共27页
定时交通信号灯控制设计.docx_第2页
第2页 / 共27页
定时交通信号灯控制设计.docx_第3页
第3页 / 共27页
定时交通信号灯控制设计.docx_第4页
第4页 / 共27页
定时交通信号灯控制设计.docx_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《定时交通信号灯控制设计.docx》由会员分享,可在线阅读,更多相关《定时交通信号灯控制设计.docx(27页珍藏版)》请在三一办公上搜索。

1、微机原理及应用课程 单片机课程设计 题目:定时交通信号灯控制设计姓名: 唐思 学号: 201013100102016 专业: 车辆工程2010-2 指导老师: 卢毓俊 2013-06-23I任务书(一) 课题:定时交通信号灯控制系统设计在双干线路口上,交通信号灯的变化是定时的。假定:1. 放行线,绿灯亮放行25s,黄灯警告5s,然后红灯亮禁止通行。2. 禁止线,红灯亮禁止30s,然后绿灯亮放行。使两条路线交替的成为放行线和禁止线,就可以实现定时交通控制。(二) 基本要求:1. 根据课题的要求规划硬件和接线,画出系统的硬件结构图。2. 编写系统的用户程序,译成机器码并在试验仪上调试。3. 完成课

2、程设计报告(三) 课程设计报告写作要求1. 课程设计报告有封面、设计任务书、目录、摘要、正文、参考文献、附录等部分组成。2. 封面可自行设计,应包含课程设计名称及设计题目、专业、班级、姓名、指导教师、设计日期等内容。3. 正文是设计报告的核心部分。应包含以下内容:概述所做课题的意义、本人所做的工作及系统的主要功能;硬件电路设计及描述;软件设计流程图及描述;源程序代码(要有注释);体会和建议等。摘 要本设计是针对交通灯系统的设计,由单片机AT89C51、键盘、LED显示、交通灯演示系统组成。单片机是把微型计算机的各功能部件集成在一块芯片中,构成的一个完整的微型计算机。89C51单片机是MC-51

3、中的子系列,是一组高性能兼容型单片机,AT89C51是一个低功耗高性能的CMOS 8位单片机,40个引脚,片内含4KB Flash ROM和128B RAM,它是一个全双工的串行通行口,既可以用常规编程,又可以在线编程。本设计中的数码管的选通采用的方法是动态显示,对每一位数码分时轮流通电显示,复位电路采用上电+按钮电平复位,时钟电路采用内部时钟脉冲产生方式。对特殊情况的处理采用中断处理方式,在中断处理程序中采用对管脚的状态查询扫描,已采取相应情况的处理。对设计方案进行电路硬件设计,并将已编程的程序载入调试,可以得到理想的实验效果。 系统包括人行道、左转、右转、以及基本的交通灯的功能.具体功能是

4、假如 A 道和B道上均有车辆要求通过时,A、B道轮流放行。A道放行 绿灯亮25秒,接着黄灯闪烁5秒,B道在该过程中亮红灯30秒;同理交换为B道放行绿灯亮25秒,接着黄灯闪烁5秒,A道在该过程中亮红灯30秒。 一道有车而另一道无车,交通灯控制系统能立即让有车道放行。关键字:单片机AT89C51 交通信号灯控制 时间目 录一设计思路11.1引言11.2方案比较21.3硬件电路设计3 a)复位部分3 b)时钟电路部分3 c)路口指示灯部分4 d)显示部分41.4程序设计5 1.4.1程序流程图5 1.4.2交通灯状态图6 1.4.3程序清单6二调试7三检测评价19四心得体会10五元件清单10六附录1

5、1I定时交通灯信号控制设计编写人:10车辆工程2班 唐思1 设计思路 个人摘要:根据AT89C51单片机的特点及交通灯在实际控制中的特点,本文提出一种用单片机自动控制交通灯及时间显示的方法。同时给出了软硬件设计方法,设计过程包括硬件电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要技术问题都有涉足。本文对十字路口状态预设为两种,一种是正常状态,另一种是故障或紧急状态,并分别用黄、红、绿色灯的不同组合来表示。本文介绍了控制基本原理以及控制的表现,同时也介绍了城市交通信息系统的设计目标, 开发途径及其系统结构与功能和数据地理编码、建库, 同时, 论述了系统中交通现状、交通管理、交通规划及背

6、景信息查询模块的建造及应用。介绍了用于城市交叉路口的三色程控交通信号时间显示器的研制方案,对其电源供电、发光二极管构成的负载结构、灯色时间检测都给出了精巧合理的优化结构,大幅度地提高了产品可靠性并降低了制造成本。1.1引言: 随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题。目前,国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯加上一个倒计时的显示器来控制行车。 本设计是单片机控制的交通灯控制

7、系统设计随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。关键词:单片机、交通灯、控制1.2方案比较与确定 经过一定的筛选,最终能有三个方案较为实际。1.2.1 方案一:通过数字电路达到实验目的。状态控制器主要用于记录

8、十字路口交通信号灯的工作状态通过状态译码器分别点亮相应状态的信号灯。秒信号发生器用以产生整个定时系统的时基脉冲,通过减法计数器对秒脉冲进行减计数达到控制每一种工作状态的持续时间。减法计数器的回零脉冲使状态控制器完成状态转换同时状态译码器根据系统下一个工作状态决定计数器下一此减计数的初始值。减法计数器的状态由BCD译码器译码,由数码管显示。在黄灯亮期间,状态译码器将秒脉冲引入红灯控制电路使红灯闪烁。1.2.1方案二:通过单片机达到实验目的。 AT89C51单片机具有定时器/计数器功能,只要外在接入一个时钟脉冲,就可以完成红灯、绿灯、黄灯所需的时间的计时。同时,。用AT89C52芯片的P2口(P2

9、.0P2.5)分别接上两组六位信号灯。通过中断程序可以实现红灯、绿灯、黄灯之间的转换。1.2.2方案三:通过控制电路达到实验目的。 该控制机用于控制十字路的交通信号灯,查个电路采用七块集成电路,组成程序式的定时电路,自动按三个程序循环控制东西南北方向的红、黄、绿信号灯的亮与灭。定时电路器由IC1(555)、R1、C1及四双开关向开关IC6控制的定时电阻RT、RG、RG1、RG2等组成,IC6采用CD4066、RT、RG是秒步进和十秒步进的波段开关,其电阻均为6.2K,最大定时时间为10S。RG1、RG2是秒步进和十秒步进的波段开关,秒步进开关的电阻为6.2K,十秒步进开关电阻为6.2K,十秒步

10、进开关电阻为6.2K,最大可设置时间为110S,时间长短要预置,六程序电路IC3采用十进制计数器/脉冲分配器CD4017,将5脚和复位端15脚相连,使之成为六进制计数分配器,加电源后,IC3的Q0-Q5依次,输出高电平,至第六个定时器脉冲到来时,Q6(5脚)的高电平加至15脚,使IC3复位,然后又重复循环,形成六程序控制。闪烁电器电器IC2和R2、R3、C3组成无稳态多谐振荡器,f=1.44/(R2+2R3)C3,它的输出经选通门IC4加至译码和驱动电路,矩阵电路由D1-D10组成,用来选择每步程序的交通信号灯,并推动IC3、IC7为专用灯驱动电路MC1413,可接控制L1-L5的通断,点亮各

11、色信号灯。综上所述,单片机具有结构简单、编程方便、经济、易于连接等优点, 特别是其内部定时器计数器、中断系统资源丰富, 可对交通灯进行精确的控制, 有应用价值。本实验使用单片机实现定时交通信号灯控制。1.3硬件电路设计1.3.1组成:AT89C51单片机、复位电路、振荡电路、LED数码管、交通灯。1.3.2各组成部分电路设计:a. 复位部分复位电路采用上电+按钮电平复位是上电复位与按钮复位的组合,当振荡频率是6MHz时,电容C取22uf, R取1K,Rs取200左右。上电瞬间复位端(RST/Vpd)的电位与Vcc相同,随着充电电路电流的减少,RST/Vpd的电位下降,最后为0V,当按钮按下后,

12、电源Vcc通过电阻R,施加在单片机复位端RST/Vpd上实现复位,电路连接图如图(2): 复位电路(2)b.时钟电路部分本系统采用内部时钟产生方式:在和两端跨接陶瓷谐振器,与内部反相器构成稳定的自激振荡器采。晶振采用12MHz的振荡频率和两个30Pf瓷片电容C1、C2,两个电阻对频率有微调作用。其电路如图(3) c.路口指示灯部分采用红黄绿三种颜色的发光二极管共12个分为4组代表路口的交通灯(电路图中用两组示意).其中每两组控制一个路口,具体时序如表1:表1:方向灯色东西南北红灯3030黄灯55绿灯2525d.显示部分采用两位一体共阳极数码管,分别显示南北和东西灯的剩余时间.片选部分和数码段显

13、示部分,分别接单片机管脚的P2口和P0口,具体的共阴数码管管脚分布位置见图(4). 1.4程序设计开始初始化AT89C51东西方向红灯亮,南北方向绿灯亮,延时南北方向剩余时间1S?东西方向红灯亮,南北方向黄灯闪亮,延时南北方向剩余时间0S?东西方向绿灯亮,南北方向红灯亮,延时东西方向剩余时间1S?东西方向黄灯闪亮,南北方向红灯亮,延时东西方向剩余时间0S?图(5)主程序流程图1.4.1流程图1.4.2交通灯状态表:状态北西南东绿黄红绿黄红绿黄红绿黄红000100100100110011000011002001010001010310000110000140100010100011.4.3程序清

14、单:主程序ORG 0000H MAIN:MOV DPTR,#0FF20H 初始化MOV A,#03H MOVX DPTR,A MOV 2AH,#1FH 设置时间显示初始值31s四种状态MOV P1,#0CH A线放行B线禁止MOV R7,#19H 延时秒数 25PRG1: LCALL DELAY1 调用延时子程序DJNZ R7,PRG1 MOV P1,#0AH A线警告B线禁止MOV R7,#05H 延时秒数5PRG2: LCALL DELAY1 调用延时子程序DJNZ R7, PRG2 MOV P1,#21H A线禁行B线放行MOV 2AH,#1FH 设置时间显示初值31sMOV R7, #

15、19H 延时秒数 25PGR3: LCALL DELAY1 调用延时子程序DJNZ R7,PGR3 MOV P1,#11H A线禁行B线警告MOV R7,#05H 延时秒数5PGR4: LCALL DELAY1 调用延时子程序DJNZ R7, PGR4 AJMP MAIN DELAY1延时子程序DELAY1:DEC 2AH MOV A,2AH 显示秒数减一MOV B,#0AH 循环控制子程序LOOP: MOV A,R2 MOV R4,#02H LCALL DISPLAY MOV A,R1 MOV R4,#01H LCALL DISPLAY DJNZ R6,LOOP二调试硬件调试是利用开发系统、

16、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。a)静态调试:静态调试是在用户系统未工作时的一种硬件检测。 第一步:目测。检查外部的各种元件或者是电路是否有断点。 第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。 第三步:加电检测。给板加电,检测所有的插座或是器件的电源端是否符合要求的值 第四步:是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 b)动态调试: 动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动

17、态调试的一般方法是由近及远、由分到合。 由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。 由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。 软件调试是通过对拥护程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。程序后,编辑,查看程序是否

18、有逻辑的错误。三检测评价: 经过检测,该程序设计合理正确,调试后能够正常运行,基本能够实现要求。能够实现:红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示,然后变为红灯,并且能够显示时间。系统稳定可靠,易于修改。能够在现实中起到一定作用。四心得体会我这次用得交通灯系统是以单片机AT89C51芯片为核心部件,实现了能根据实际车流量通过AT89C51芯片设置及控制红、绿和黄灯点亮时间来进行交通控制。通过这次的课程设计是我学会了很多软件的操作和仿真实验的操作,如keic51和protues软件的联接和导入。这俩软件在我这次课程设计中起到关键作用,运用其中素材做仿真,从文件中找各种器材,虽然在这过程中比较繁

19、杂,但是我还是乐此不彼,因为我对这次课设深感兴趣,所以再累也值得。在这次课程设计的过程中,我遇到了很多的困难,譬如:找实验模版,安装软件,已经源程序的汇编,程序的导入等等。但通过自己找老师和同学一起去解决各种问题,终于克服种种困难;仿真实验和论文写得差不多了。经历这次课程设计,使我的动手能力更加迅速到位了,但是也发现自己的很多不足;如:做事比较毛糙不细心,在设计中出现很多小错误,导致自己的程序一直都不能运行,最终逐一检查才把问题解决;再者是自己的耐力不足,不能一直做下去,中间得停息、调整。这次单片机的课程设计对我的帮助太多了;经历过这次课程设计,使我的大学生活更加多样了,希望以后老师能再弄这种

20、类型的课程设计给我们设计,能增加我们更多的技能,技巧。五元件清单(见附录2)附录2.元件清单器件名称型号大小数量晶振12MHz1电阻4701LED数码管二联共阳3单片机AT89C511电解电容22uF1瓷片电容30pF2排阻4701LED数码管二联共阳3发光二极管红4黄4绿4开关按键式4上拉电阻10K6电源5V/0.5A1集成块74LS2451六附录附录1.仿真电路图 图上为 东西方向变黄灯,南北方向禁行 图上为 南北方向通车,东西方向禁行图上为 东西方向通车,南北方向禁行附录3.程序源代码:; 交通灯 ; TIME EQU 50H ;秒计数用 TIMESFR EQU 51H ;临时寄存器 C

21、ONR5 EQU 52H ;T11秒定时计数用 TIMED0 EQU 55H ;单向最大定时时间,直行开始,人行开始 120 TIMED1 EQU 56H ; 各路右转开始时间 110 TIMED2 EQU 57H ; 前行结束提醒 70 TIMED3 EQU 58H ; 前行结束,人行结束,左转开始 60 TIMED4 EQU 59H ; 左转结束提醒 TIMED5 EQU 5AH ; 左转结束 TIMED6 EQU 5BH ; TIMED7 EQU 5CH ; SN EQU P1 ; 南北口 EW EQU P2 ; 东西口 SCAN EQU P3 ;扫描口 LEDOUT EQU P0 ;段

22、码口 SNEWFLAG BIT 09H ;东西口与南北口转换标志; 按键在扫描口的最高位,按一下,全红灯,再按一下,恢复原状态; 定时器T0、T1溢出周期为50MS,T0为秒计数用,; 中断入口程序 ; ORG 0000H ;程序执行开始地址 LJMP START ;跳到标号START执行 ORG 0003H ;外中断0中断程序入口 RETI ;外中断0中断返回 ORG 000BH ;定时器T0中断程序入口 LJMP INTT0 ;跳至INTTO执行 ORG 0013H ;外中断1中断程序入口 LJMP INT11 ;外中断1中断返回,119.120中断 ORG 001BH ;定时器T1中断程

23、序入口 LJMP INTT1 ORG 0023H ;串行中断程序入口地址 RETI ;串行中断程序返回; ; ; 主 程 序 ; ; START: MOV SP,#80H MOV R0,#00H ;清70H-7AH共11个内存单元 MOV R7,#8FH ; CLEARDISP: MOV R0,#00H ; INC R0 ; DJNZ R7,CLEARDISP ; MOV TIMED0,#78H ;单向最大定时时间,直行开始,人行开始 120 MOV TIMED1,#6EH ; 各路右转开始时间 110 MOV TIMED2,#46H ; 前行结束提醒 70 MOV TIMED3,#3CH ;

24、 前行结束,人行结束,左转开始 60 MOV TIMED4,#0AH ; 左转结束提醒 CLR SNEWFLAG ;南北先通行标志位 MOV TMOD,#11H ;设T0、T1为16位定时器 MOV TL0,#0B0H ;50MS定时初值(T0计时用) MOV TH0,#3CH ;50MS定时初值 MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用) MOV TH1,#3CH ;50MS定时初值 ; JB SCAN.7,SSST ;120秒管理 ;以下为60秒管理 LCALL DL1MS LCALL DL1MS LCALL DL1MS JB SCAN.7,SSST ;干扰 MOV

25、TIMED0,#60 ;单向最大定时时间,直行开始,人行开始60 MOV TIMED1,#55 ; 各路右转开始时间 55 MOV TIMED2,#35 ; 前行结束提醒 35 MOV TIMED3,#30 ; 前行结束,人行结束,左转开始 30 MOV TIMED4,#05 ; 左转结束提醒 SSWAIT: JNB SCAN.7,SSWAIT LCALL DL1MS LCALL DL1MS LCALL JNB SCAN.7,SSWAIT ; SSST: MOV TIME,TIMED0 ;120秒 LCALL TUNBCD MOV SN,#66H ; MOV EW,#55H ; SETB EA

26、 ;总中断开放 SETB PX1 SETB EX1 SETB ET0 ;允许T0中断 SETB TR0 ;开启T0定时器 MOV R4,#14H ;1秒定时用初值(50MS20) MOV CONR5,#20 START1: LCALL DISPLAY ;调用显示子程序 JNB SCAN.7,KEYFUN ;手动状态 SJMP START1 ;P1.0口为1时跳回START1 ;KEYFUN: LCALL DISPLAY LCALL DISPLAY JB SCAN.7,START1 CLR ET0 CLR TR0 MOV SN,#056H ;全车道停,行人通 MOV EW,#056H ; MOV

27、 TIME,#00H ;时间显示0 LCALL TUNBCD KEYWAIT: LCALL DISPLAY ; JNB SCAN.7,KEYWAIT ; KEYY: LCALL DISPLAY ;等待按键按下 JB SCAN.7,KEYY LCALL DISPLAY JB SCAN.7,KEYY KEYWAIT1: LCALL DISPLAY ; JNB SCAN.7,KEYWAIT1 ; MOV TIME,TIMED0 ;从新开始计时初值 LCALL TUNBCD CLR SNEWFLAG ;南北先通行标志位 SETB TR0 SETB ET0 AJMP START1; 1秒计时程序 ;T0

28、中断服务程序 INTT0: PUSH ACC ;累加器入栈保护 PUSH PSW ;状态字入栈保护 CLR ET0 ;关T0中断允许 CLR TR0 ;关闭定时器T0 MOV A,#0B7H ;中断响应时间同步修正 ADD A,TL0 ;低8位初值修正 MOV TL0,A ;重装初值(低8位修正值) MOV A,#3CH ;高8位初值修正 ADDC A,TH0 ; MOV TH0,A ;重装初值(高8位修正值) SETB TR0 ;开启定时器T0 DJNZ R4, OUTT00 ;20次中断未到中断退出 MOV R4,#14H ;20次中断到(1秒)重赋初值 JB SNEWFLAG, INT2

29、2 DEC TIME MOV A,TIME CJNE A,TIMED1,LOOP11 ; 判断是否小于110秒 LOOP11: JC LOOP22 ; 120-110 MOV SN,#66H ; I MOV EW,#55H ; I LJMP OUTT0 ; 120-110 LOOP22: MOV A,TIME CJNE A,TIMED2,LOOP33 ; 判断是否小于70秒 LOOP33: JC LOOP44 ; 110-70 MOV SN,#6AH ; I MOV EW,#59H ; I LJMP OUTT0 ; 110-70 LOOP44: MOV A,TIME CJNE A,TIMED3

30、,LOOP55 ; 判断是否小于60秒 LOOP55: JC LOOP66 ; 70-60 MOV 20H,SN ; CPL 04H ; CPL 00H MOV SN,20H ; I MOV EW,#59H ; I LJMP OUTT0 ; 70-60 LOOP66: MOV A,TIME CJNE A,TIMED4,LOOP77 ; 判断是否小于10秒 LOOP77: JC LOOP88 ; 60-10 MOV SN,#99H ; I MOV EW,#59H ; I LJMP OUTT0 ; 60-10 LOOP88: MOV A,TIME JZ OUT88 MOV 20H,SN ; CPL 06H ; CPL 02H MOV SN,20H ; MOV 20H,EW CPL 02H MOV EW,20H ; I LJMP OUTT0 ; 70-60 OUT88: MOV TIME,TIMED0 ;120秒初值 CPL SNEWFLAG OUTT0:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号