定时交通灯控制设计解读.docx
- 文档编号:26348397
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:30
- 大小:109.53KB
定时交通灯控制设计解读.docx
《定时交通灯控制设计解读.docx》由会员分享,可在线阅读,更多相关《定时交通灯控制设计解读.docx(30页珍藏版)》请在冰豆网上搜索。
定时交通灯控制设计解读
单片机课程设计
题目:
定时交通信号灯控制设计
姓名:
张翠
学号:
20111310030103
专业:
交通设备信息工程2011-1
小组成员:
张翠、翁瑜婕
指导老师:
卢毓俊
2014年1月
任务书
(一)课题:
定时交通信号灯控制系统设计
在双干线路口上,交通信号灯的变化是定时的。
假定:
1.放行线,绿灯亮放行25s,黄灯警告5s,然后红灯亮禁止通行。
2.禁止线,红灯亮禁止30s,然后绿灯亮放行。
使两条路线交替的成为放行线和禁止线,就可以实现定时交通控制。
(二)基本要求:
1.根据课题的要求规划硬件和接线,画出系统的硬件结构图。
2.编写系统的用户程序,译成机器码并在试验仪上调试。
3.完成课程设计报告。
(三)课程设计报告写作要求
1.课程设计报告有封面、设计任务书、目录、摘要、正文、参考文献、附录等部分组成。
2.封面可自行设计,应包含课程设计名称及设计题目、专业、班级、姓名、指导教师、设计日期等内容。
3.正文是设计报告的核心部分。
应包含以下内容:
概述所做课题的意义、本人所做的工作及系统的主要功能;硬件电路设计及描述;软件设计流程图及描述;源程序代码(要有注释);体会和建议等。
摘要
本设计是针对交通灯系统的设计,由单片机AT89C51、键盘、LED显示、交通灯演示系统组成。
单片机是把微型计算机的各功能部件集成在一块芯片中,构成的一个完整的微型计算机。
89C51单片机是MC-51中的子系列,是一组高性能兼容型单片机,AT89C51是一个低功耗高性能的CMOS8位单片机,40个引脚,片内含4KBFlashROM和128BRAM,它是一个全双工的串行通行口,既可以用常规编程,又可以在线编程。
本设计中的数码管的选通采用的方法是动态显示,对每一位数码分时轮流通电显示,复位电路采用上电+按钮电平复位,时钟电路采用内部时钟脉冲产生方式。
对特殊情况的处理采用中断处理方式,在中断处理程序中采用对管脚的状态查询扫描,已采取相应情况的处理。
对设计方案进行电路硬件设计,并将已编程的程序载入调试,可以得到理想的实验效果。
系统包括人行道、左转、右转、以及基本的交通灯的功能.具体功能是假如A道和B道上均有车辆要求通过时,A、B道轮流放行。
A道放行绿灯亮25秒,接着黄灯闪烁5秒,B道在该过程中亮红灯30秒;同理交换为B道放行绿灯亮25秒,接着黄灯闪烁5秒,A道在该过程中亮红灯30秒。
一道有车而另一道无车,交通灯控制系统能立即让有车道放行。
关键字:
单片机AT89C51交通信号灯控制时间
目录
一.设计思路……………………………………………………………………1
1.1引言……………………………………………………………………1
1.2方案比较………………………………………………………………2
1.3硬件电路设计…………………………………………………………2
a)复位部分……………………………………………………………3
b)时钟电路部分………………………………………………………3
c)路口指示灯部分……………………………………………………4
d)显示部分……………………………………………………………4
1.4程序设计………………………………………………………………5
1.4.1程序流程图………………………………………………………5
1.4.2交通灯状态图……………………………………………………6
1.4.3程序清单…………………………………………………………6
二.调试…………………………………………………………………………7
三.检测评价……………………………………………………………………8
四.心得体会……………………………………………………………………9
五.元件清单……………………………………………………………………9
六.附录…………………………………………………………………………9
定时交通灯信号控制设计
编写人:
交通设备信息工程2011-1张翠
1.设计思路
个人摘要:
根据AT89C51单片机的特点及交通灯在实际控制中的特点,本文提出一种用单片机自动控制交通灯及时间显示的方法。
同时给出了软硬件设计方法,设计过程包括硬件电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要技术问题都有涉足。
本文对十字路口状态预设为两种,一种是正常状态,另一种是故障或紧急状态,并分别用黄、红、绿色灯的不同组合来表示。
本文介绍了控制基本原理以及控制的表现,同时也介绍了城市交通信息系统的设计目标,开发途径及其系统结构与功能和数据地理编码、建库,同时,论述了系统中交通现状、交通管理、交通规划及背景信息查询模块的建造及应用。
介绍了用于城市交叉路口的三色程控交通信号时间显示器的研制方案,对其电源供电、发光二极管构成的负载结构、灯色时间检测都给出了精巧合理的优化结构,大幅度地提高了产品可靠性并降低了制造成本。
1.1引言
随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。
如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题。
目前,国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯加上一个倒计时的显示器来控制行车。
本设计是单片机控制的交通灯控制系统设计随着社会经济的发展,城市交通问题越来越引起人们的关注。
人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。
城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。
所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。
关键词:
单片机、交通灯、控制
1.2方案比较与确定
经过一定的筛选,最终能有三个方案较为实际。
1.2.1方案一:
通过数字电路达到实验目的。
状态控制器主要用于记录十字路口交通信号灯的工作状态通过状态译码器分别点亮相应状态的信号灯。
秒信号发生器用以产生整个定时系统的时基脉冲,通过减法计数器对秒脉冲进行减计数达到控制每一种工作状态的持续时间。
减法计数器的回零脉冲使状态控制器完成状态转换同时状态译码器根据系统下一个工作状态决定计数器下一此减计数的初始值。
减法计数器的状态由BCD译码器译码,由数码管显示。
在黄灯亮期间,状态译码器将秒脉冲引入红灯控制电路使红灯闪烁。
1.2.1方案二:
通过单片机达到实验目的。
AT89C51单片机具有定时器/计数器功能,只要外在接入一个时钟脉冲,就可以完成红灯、绿灯、黄灯所需的时间的计时。
同时,用AT89C52芯片的P2口(P2.0—P2.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Ω,十秒步进开关电阻为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的通断,点亮各色信号灯。
综上所述,单片机具有结构简单、编程方便、经济、易于连接等优点,特别是其内部定时器计数器、中断系统资源丰富,可对交通灯进行精确的控制,有应用价值。
本实验使用单片机实现定时交通信号灯控制。
1.3硬件电路设计
1.3.1组成:
AT89C51单片机、复位电路、振荡电路、LED数码管、交通灯。
1.3.2各组成部分电路设计:
a)复位部分
复位电路采用上电+按钮电平复位是上电复位与按钮复位的组合,当振荡频率是6MHz时,电容C取22
uf,R取1K
,Rs取200
左右。
上电瞬间复位端(RST/Vpd)的电位与Vcc相同,随着充电电路电流的减少,RST/Vpd的电位下降,最后为0V,当按钮按下后,电源Vcc通过电阻R,施加在单片机复位端RST/Vpd上实现复位,电路连接图如图
(2):
复位电路
(2)
b)时钟电路部分
本系统采用内部时钟产生方式:
在和两端跨接陶瓷谐振器,与内部反相器构成稳定的自激振荡器采。
晶振采用12MHz的振荡频率和两个30Pf瓷片电容C1、C2,两个电阻对频率有微调作用。
其电路如图(3)
C)路口指示灯部分
采用红黄绿三种颜色的发光二极管共12个分为4组代表路口的交通灯(电路图中用两组示意).其中每两组控制一个路口,具体时序如表1:
表1:
方向
灯色
东西
南北
红灯
30
30
黄灯
5
5
绿灯
25
25
d)显示部分
采用两位一体共阳极数码管,分别显示南北和东西灯的剩余时间.片选部分和数码段显示部分,分别接单片机管脚的P2口和P0口,具体的共阴数码管管脚分布位置见图(4).
1.4程序设计
1.4.1流程图
1.4.2交通灯状态表:
状态
北
西
南
东
绿黄红
绿黄红
绿黄红
绿黄红
0
001
001
001
001
1
001
100
001
100
2
001
010
001
010
3
100
001
100
001
4
010
001
010
001
1.4.3程序清单:
①主程序
ORG0000H
MAIN:
MOVDPTR,#0FF20H初始化
MOVA,#03H
MOVX@DPTR,A
MOV2AH,#1FH设置时间显示初始值31s
②四种状态
MOVP1,#0CHA线放行B线禁止
MOVR7,#19H延时秒数25
PRG1:
LCALLDELAY1调用延时子程序
DJNZR7,PRG1
MOVP1,#0AHA线警告B线禁止
MOVR7,#05H延时秒数5
PRG2:
LCALLDELAY1调用延时子程序
DJNZR7,PRG2
MOVP1,#21HA线禁行B线放行
MOV2AH,#1FH设置时间显示初值31s
MOVR7,#19H延时秒数25
PGR3:
LCALLDELAY1调用延时子程序
DJNZR7,PGR3
MOVP1,#11HA线禁行B线警告
MOVR7,#05H延时秒数5
PGR4:
LCALLDELAY1调用延时子程序
DJNZR7,PGR4
AJMPMAINDELAY1
③延时子程序
DELAY1:
DEC2AH
MOVA,2AH显示秒数减一
MOVB,#0AH
④循环控制子程序
LOOP:
MOVA,R2
MOVR4,#02H
LCALLDISPLAY
MOVA,R1
MOVR4,#01H
LCALLDISPLAY
DJNZR6,LOOP
二.调试
硬件调试是利用开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。
硬件调试可分为静态调试与动态调试两步进行。
a)静态调试:
静态调试是在用户系统未工作时的一种硬件检测。
第一步:
目测。
检查外部的各种元件或者是电路是否有断点。
第二步:
用万用表测试。
先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。
第三步:
加电检测。
给板加电,检测所有的插座或是器件的电源端是否符合要求的值。
第四步:
是联机检查。
因为只有用单片机开发系统才能完成对用户系统的调试。
b)动态调试:
动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。
动态调试的一般方法是由近及远、由分到合。
由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。
当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。
由分到合的调试既告完成。
由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。
调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。
软件调试是通过对拥护程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
程序后,编辑,查看程序是否有逻辑的错误。
三.检测评价
经过检测,该程序设计合理正确,调试后能够正常运行,基本能够实现要求。
能够实现:
红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示,然后变为红灯,并且能够显示时间。
系统稳定可靠,易于修改。
能够在现实中起到一定作用。
四.心得体会
一周的单片机课程设计很快就结束了,在课程设计的这段时间里,我不仅学到了许多新的知识,而且加深了我对以前学习的理论知识的掌握。
以前我们学的东西仅限于课本,对实实在在的应用还比较模糊,这次课程设计有利于同学们学习目的的明确性和主动性。
通过这次课程设计,我们知道了哪些东西是应该确实掌握的。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正掌握所学知识。
从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说是困难重重,这毕竟第一次尝试,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在写报告时遇到了许多的问题,最后在老师的指导下,正确完成。
当然这次课程设计之中存在了许多的不足,比如我们这次设计之中东南西北四个方向的倒计时的数码管只采用了一个两位的数码管(现实中应该是每个方向都有一个倒计时的数码管)等等问题。
希望在以后的学习和工作中,能得到更多的实践经验,尤其是锻炼自我意识,无论做什么事,都要自己去尝试并努力完成,是享受其过程而不是结果。
五.元件清单(见附录2)
六.附录
附录1.仿真电路图
图上为东西方向变黄灯,南北方向禁行
图上为南北方向通车,东西方向禁行
图上为东西方向通车,南北方向禁行
附录2.元件清单
器件名称
型号大小
数量
晶振
12MHz
1
电阻
470Ω
1
LED数码管
二联共阳
3
单片机
AT89C51
1
电解电容
22uF
1
瓷片电容
30pF
2
排阻
470Ω
1
LED数码管
二联共阳
3
发光二极管
红
4
黄
4
绿
4
开关
按键式
4
上拉电阻
10K
6
电源
5V/0.5A
1
集成块
74LS245
1
附录3.程序源代码:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
交通灯
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TIMEEQU50H;秒计数用
TIMESFREQU51H;临时寄存器
CONR5EQU52H;T11秒定时计数用
TIMED0EQU55H;单向最大定时时间,直行开始,人行开始120
TIMED1EQU56H;各路右转开始时间110
TIMED2EQU57H;前行结束提醒70
TIMED3EQU58H;前行结束,人行结束,左转开始60
TIMED4EQU59H;左转结束提醒
TIMED5EQU5AH;左转结束
TIMED6EQU5BH
TIMED7EQU5CH
SNEQUP1;南北口
EWEQUP2;东西口
SCANEQUP3;扫描口
LEDOUTEQUP0;段码口
SNEWFLAGBIT09H;东西口与南北口转换标志
按键在扫描口的最高位,按一下,全红灯,再按一下,恢复原状态定时器T0、T1溢出周期为50MS,T0为秒计数用.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
中断入口程序
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG0000H;程序执行开始地址
LJMPSTART;跳到标号START执行
ORG0003H;外中断0中断程序入口
RETI;外中断0中断返回
ORG000BH;定时器T0中断程序入口
LJMPINTT0;跳至INTTO执行
ORG0013H;外中断1中断程序入口
LJMPINT11;外中断1中断返回,119.120中断
ORG001BH;定时器T1中断程序入口
LJMPINTT1
ORG0023H;串行中断程序入口地址
RETI;串行中断程序返回
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
主程序
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
START:
MOVSP,#80H
MOVR0,#00H;清70H-7AH共11个内存单元
MOVR7,#8FH
CLEARDISP:
MOV@R0,#00H
INCR0
DJNZR7,CLEARDISP
MOVTIMED0,#78H;单向最大定时时间,直行开始,人行开始120
MOVTIMED1,#6EH;各路右转开始时间110
MOVTIMED2,#46H;前行结束提醒70
MOVTIMED3,#3CH;前行结束,人行结束,左转开始60
MOVTIMED4,#0AH;左转结
CLRSNEWFLAG;南北先通行标志位
MOVTMOD,#11H;设T0、T1为16位定时器
MOVTL0,#0B0H;50MS定时初值(T0计时用)
MOVTH0,#3CH;50MS定时初值
MOVTL1,#0B0H;50MS定时初值(T1闪烁定时用)
MOVTH1,#3CH;50MS定时初值
JBSCAN.7,SSST;120秒管理
以下为60秒管理
LCALLDL1MS
LCALLDL1MS
LCALLDL1MS
JBSCAN.7,SSST;干扰
MOVTIMED0,#60;单向最大定时时间,直行开始,人行开始60
MOVTIMED1,#55;各路右转开始时间55
MOVTIMED2,#35;前行结束提醒35
MOVTIMED3,#30;前行结束,人行结束,左转开始30
MOVTIMED4,#05;左转结束提醒
SSWAIT:
JNBSCAN.7,SSWAIT
LCALLDL1MS
LCALLDL1MS
LCALLJNBSCAN.7,SSWAIT
SSST:
MOVTIME,TIMED0;120秒
LCALLTUNBCD
MOVSN,#66H
MOVEW,#55H
SETBEA;总中断开
SETBPX1
SETBEX1
SETBET0;允许T0中断
SETBTR0;开启T0定时器
MOVR4,#14H;1秒定时用初值(50MS×20)
MOVCONR5,#20
START1:
LCALLDISPLAY;调用显示子程序
JNBSCAN.7,KEYFUN;手动状态
SJMPSTART1;P1.0口为1时跳回START1
KEYFUN:
LCALLDISPLAY
LCALLDISPLAY
JBSCAN.7,START1
CLRET0
CLRTR0
MOVSN,#056H;全车道停,行人通
MOVEW,#056H
MOVTIME,#00H;时间显示
LCALLTUNBCD
KEYWAIT:
LCALLDISPLAY
JNBSCAN.7,KEYWAIT;
KEYY:
LCALLDISPLAY;等待按键按下
JBSCAN.7,KEYY
LCALLDISPLAY
JBSCAN.7,KEYY
KEYWAIT1:
LCALLDISPLAY
JNBSCAN.7,KEYWAIT1
MOVTIME,TIMED0;从新开始计时初值
LCALLTUNBCD
CLRSNEWFLAG;南北先通行标志位
SETBTR0
SETBET0
AJMPSTART1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1秒计时程序
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
T0中断服务程序
INTT0:
PUSHACC;累加器入栈保护
PUSHPSW;状态字入栈保护
CLRET0;关T0中断允许
CLRTR0;关闭定时器T0
MOVA,#0B7H;中断响应时间同步修正
ADDA,TL0;低8位初值修正
MOVTL0,A;重装初值(低8位修正值)
MOVA,#3CH;高8位初值修正
ADDCA,TH0
MOVTH0,A;重装初值(高8位修正值)
SETBTR0;开启定时器T0
DJNZR4,OUTT00;20次中断未到中断退出
MOVR4,#14H;20次中断到(1秒)重赋初值
JBSNEWFLAG,INT22
DECTIME
MOVA,TIME
CJNEA,TIMED1,LOOP11;判断是否小于110秒
LOOP11:
JCLOOP22;120-110
MOVSN,#66H;I
MOVEW,#55H;I
LJMPOUTT0;120-110
LOOP22:
MOVA,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定时 交通灯 控制 设计 解读