资源描述
单片机系统开发与应用工程实习报告
选题名称:基于AT89S52单片机交通灯控制系统设计
系(院): 计算机工程学院
专 业: 计算机科学与技术(嵌入式软件设计)
班 级:
姓 名: 学 号:
指引教师:
年学期: ~ 年 第 2 学期
年 5 月 30 日
摘要:
随着国内经济高速发展,私家车、公交车增长,无疑会给国内交通系统带来沉重压力,诸多大都市都不同限度地受到交通阻塞问题困扰。下面以AT89S52单片机为核心,设计出以人性化、智能化为目交通信号灯控制系统
我用发光二极管模仿交通信号灯,用按键开关模仿车辆检测信号。正常状况下,A、B两车道轮流放行,A车道放行45s,其中5s用于警告;B车道放行25s,其中5s用于警告。交通灯繁忙时,可人为地变化信号灯状态,以缓和交通拥挤状况。遇到紧急状况时,A、B两车道均为红灯,禁行20s。本设计重要做了如下几方面工作:一是拟定系统交通控制总体设计,涉及,十字路口详细通行禁行方案设计以及系统应拥有各项功能,二是显示电路等设计和基本功能规定。三是进行软件系统设计,对于本系统,本人采用单片机汇编语言编写,总体上完毕了软件编写。
核心词:交通控制;AT89S52;汇编语言;
目 录
1 绪论 1
1.1单片机交通控制系统选题背景 1
1.2单片机交通控制系统选题现实意义 1
2 项目概述 2
2.1 项目规定 2
2.2 系统设计 3
3 硬件设计 4
3.1 电路图原理 4
3.2 单片机控制交通信号灯模仿系统电路图 5
4 软件设计 6
4.1 程序流程图 6
4.2 程序清单 8
5 系统仿真及调试 10
总 结 12
参照文献 13
1 绪论
1.1单片机交通控制系统选题背景
随着人口迅速增多,交通工具爆炸性发展,以及道路资源有限性,交通控制就应运而生,在人类生活、工作环境中,交通扮演着极其重要角色,人们出行都无时不刻与交通打着交道。自18世纪工业革命以来,工业发展带动整个交通运送发展,从而催生了单独交通控制学问与管理机构。
交通控制系统是近当代社会随着物流、出行等交通发展产生一套独特公共管理系统。要保证高效安全交通秩序,除了制定一系列交通规则,还必要通过一定技术手段加以实现。当代人类科学技术,特别是电子科学技术发展和成熟能比较好解决系统建立中硬软件方面规定技术难题。当前,交通控制方面研究能完全实现自动智能化,甚至将整个区域整合成一种统一系统范畴,还能依照正常时段以及特定突发时段状况进行科学自动调节。
交通对于社会工业经济和人们生活生产中有着十分重要意义。随着单片机和传感技术迅速发展,自动检测领域发生了巨大变化,交通自动监测控制方面研究有了明显进展,并且必将以其优秀性能价格比,逐渐取代老式交通控制办法。
1.2单片机交通控制系统选题现实意义
都市道路交通自动控制系统发展是以都市交通信号控制技术为前导,与汽车工业并行发展。在其各个发展阶段,由于交通各种矛盾不断浮现,人们总是尽量地把各个历史阶段当时最新科技成果应用到交通自动控制中来,从而增进了交通自动控制技术不断发展。
早在1850年,都市交叉口处不断增长交通就引起了人们对安全和拥堵关注。世界上第一台交通自动信号灯诞生,拉开了都市交通控制序幕,1868年,英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色煤气照明灯,用来控制交叉路口马车通行,但一次煤气爆炸事故致使这种交通信号灯几乎销声匿迹了近半个世纪。19及稍晚某些时候,美国克利夫兰、纽约和芝加哥才重新浮现了交通信号灯,它们采用电力驱动,与当前乎义上信号灯已经相差无几。1926年英国人第一次安装和使用自动化控制器来控制交通信号灯,这是都市交通自动控制起点。
初期交通信号灯使用“固定配时”方式实行自动控制,这种方式对于初期交通流量不大状况曾起过一定作用。但随着汽车工业发展、交通流量增长、随机变化增强,采用以往那种单一模式“固定配时”方式已不能满足客观需要,于是一种多时段多方案信号控制器开始浮现并逐渐取代了老式只有一种控制方案控制器。
20世纪30年代初,美国最早开始用车辆感应式信号控制器,之后是英国,当时使用车辆检测器是气动橡皮管检测器。车辆感应控制器特点是它能依照检测器测量交通流量来调节绿灯时间长短,使绿灯时间更有效地被运用,减少车辆在交叉口时间延误,比定期控制方式有更大灵活性。车辆感应控制这一特点刺激了车辆检测器技术发展。继气动橡皮管式检测器之后,雷达、超声波、光电、地磁、电磁、微波、红外以及环形线圈等检测器相继问世。当今在都市道路交通自动控制、交通监测和交通数据采集系统中,应用最广是环形线圈车辆检测器。超声波检测器重要在日本等少数国家得到广泛应用。
计算机技术浮现为交通控制技术发展注入了新活力,更是实现了以一种都市或者更大地区,而非简朴一种路口交通总体控制系统。1952年,美国科罗拉多州丹佛市初次运用模仿计算机和交通检测器实现了对交通信号机网配时方案自动选取式信号灯控制,而加拿大多伦多市于1964年完毕了计算机控制信号灯实用化,建立了一套由IBM650型计算机控制交通信号协调控制系统,成为世界上第一种具备电子数字计算机都市交通控制系统都市。这是道路交通控制技术发展里程碑。
可以说,在近百年发展中,道路交通信号控制系统经历了手动到自动,从固定配时到灵活配时,从无感应控制到有感应控制,从单点控制到干线控制,从区域控制到网络控制长远过程。
交通控制研究发展,旨在解决人类交通因需求增多而日益繁重带来问题,局限于道路建设暂时局限性和交通工具迅速增长,就要使更多车辆安全高效运用有限道路资源,避免因无序和抢行等无控制因素导致不必要阻塞甚至瘫痪,此外,针对整个交通线路车辆多少实时调节和转移多条线路分流也十分必要。
2 项目概述
随着国内经济高速发展,私家车、公交车增长,无疑会给国内交通系统带来沉重压力,诸多大都市都不同限度地受到交通阻塞问题困扰。下面以AT89S52单片机为核心,设计出以人性化、智能化为目交通信号灯控制系统。
2.1 项目规定
用AT89S52单片机控制一种交通信号灯系统,晶振采用12MHz。设A车道与B车道交叉构成十字路口,A是主车道,B是支道。设计规定如下:
(1)用发光二极管模仿交通信号灯,用按键开关模仿车辆检测信号。
(2)正常状况下,A、B两车道轮流放行,A车道放行50s,其中5s用于警告;B车道放行30s,其中5s用于警告。
(3)交通灯繁忙时,交通信号灯控制系统应有手控开关,可人为地变化信号灯状态,以缓和交通拥挤状况。在B车道放行期间,若A车道有车而B车道无车,按下开关K1使A车道放行15s;在A车道放行期间,若b车道有车而A车道无车,按下开关K2使B车道放行15s。
(4)有紧急车辆通过时,按下K3开关使A、B车道均为红灯,禁行20s。
2.2 系统设计
2.2.1 总体设计思想
交通灯控制系统重要控制A、B两车道交通,以AT89S52单片机为核心芯片,通过控制三色LED亮灭来控制各车道通行;此外通过3个按键来模仿各车道有无车辆状况和有紧急车辆状况。依照设计规定,制定总体设计思想如下:
(1)正常状况下运营主程序,采用0.5s延时子程序重复调用来实现各种定期时间。
(2)一道有车而另一道无车时,采用外部中断1执行中断服务程序,并设立该中断为低优先级中断。
(3)有紧急车辆通过时,采用外部中断0执行中断服务程序,并设立该中断为高优先级中断,实现二级中断嵌套。
2.2.2 框图设计
基于AT89S52单片机交通信号灯控制系统由电源电路、单片机主控电路、按键控制电路和道路显示电路几某些构成,框图如图1-1所示。
图2-1 基于AT89S52单片机交通灯控制系统框图
3 硬件设计
3.1 电路图原理
用12只发光二极管模仿交通信号灯,以AT89S52单片机P1口控制这12只发光二极管, 由于单片机带负载能力有限, 因而,在P1口与发光二极管之间用74LS07作驱动电路,P1口输出低电平时,信号灯亮;输出高电平时,信号灯灭。在正常状况和交通繁忙时,A、B两车道6只信号灯控制状态有5种形式,即P1口控制功能及相应控制码如表1-1所示。分别以按键K1、K2模仿A、B道车辆检测信号,开关K1按下时,A车道放行;开关K2按下时,B车道放行;开关K1和K2控制信号经异或取反后,产生中断祈求信号(低电平有效),通过外部中断1向CPU发出中断祈求;因而产生外部中断1中断条件应是:=K1+K2 (3-1),可用集成块74LS266(如无74L266,可用74LS86与74LS04组合代替)来实现。采用中断加查询扩展法,可以判断出规定放行是A车道(按下开关K1)还是B车道(按下开关K2)。
以按键K0模仿紧急车辆通过开关,当K0为高电平时属正常状况,当K0为低电平时,属状况直接将K0信号接至INT0(P3.2)脚即可实现外部中断0中断。
表3-1 交通信号灯与控制状态相应关系
控制状态
P1口
控制码
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
未用
未用
B道绿灯
B道黄灯
B道红灯
A道绿灯
A道黄灯
A道红灯
A道放行,B道禁止
F3H
1
1
1
1
0
0
1
1
A道警告,B道禁止
F5H
1
1
1
1
0
1
0
1
A道禁止,B道放行
DEH
1
1
0
1
1
1
1
0
A道禁止,B道警告
EEH
1
1
1
0
1
1
1
0
A道禁止,B道禁止
F6H
1
1
1
1
0
1
1
0
3.2 单片机控制交通信号灯模仿系统电路图
图3-1单片机控制交通信号灯模仿系统电路图
4 软件设计
主程序采用查询方式定期,由R2寄存器拟定调用0.5延时子程序次数,从而获取交通灯各种时间。子程序采用定期器1方式1查询式定期,定期器定期50ms,R3寄存器拟定50ms循环10次,从而获取0.5s延时时间。
有车车道放行中断服务程序一方面要保护现场,因需用到延时子程序和P1口,故需保护寄存器有R3、P1、TH1、TL1,保护现场时还需关中断,以防止高优先级中断(紧急车辆通过所产生中断)浮现导致程序混乱。
开中断,由软件查询P3.0口和P3.1口,鉴别拿哪一道有车,再依照查询状况执行相应服务。待交通灯信号浮现后,保持15s延时,然后,关中断,恢复现场,再开中断,返回主程序。
紧急车辆浮现时中断服务程序也需保护现场,但不必关中断(因其为高优先级中断),然后执行相应服务,待交通灯信号浮现后延时20s,保证紧急车辆通过交叉路口,然后,恢复现场,返回主程序。
4.1 程序流程图
交通信号灯模仿控制系统程序流程图如图4-3所示
图4-1 交通信号灯模仿控制系统程序流程图
4.2 程序清单
ORG 0000H
LJMP MAIN ;转向主程序
ORG 0003H
LJMP INTT0 ;转向紧急车辆中断服务程序
ORG 0013H
LJMP INTT1 ;转向有车车道中断服务程序
ORG 0200H
MAIN: MOV SP,#30H
SETB PX0 ;置外部中断0为高优先级中断
MOV TCON,#00H ;置外部中断0、1为电平触发
MOV TMOD,#10H ;置定期器1为方式1
MOV IE,#85H ;开CPU中断,开外中断0、1中断
LOOP: MOV P1,#0F3H ;A道绿灯放行,B道红灯禁止
MOV R1,#90 ;置0.5秒循环次数(0.5×90=45S)
DIP1: ACALL DELAY ;调用0.5秒延时子程序
DJNZ R1,DIP1 ;45秒不到继续循环
MOV R1,#06 ;置A绿灯闪烁循环次数
WAN1: CPL P1.2 ;A绿灯闪烁
ACALL DELAY
DJNZ R1,WAN1 ;闪烁次数未到继续循环
MOV P1,#0F5H ;A黄灯警告,B红灯禁止
MOV R1,#04H ;置0.5秒循环次数(0.5×4=2S)
YL1: ACALL DELAY
DJNZ R1,YL1 ;2秒未到继续循环
MOV P1,#0DEH ;A红灯,B绿灯
MOV R1,#32H ;置0.5秒循环次数(0.5×50=25S)
DIP2: ACALL DELAY
DJNZ R1,DIP2 ;25秒未到继续循环
MOV R1,#06H
WAN2: CPL P1.5 ;B绿灯闪烁
ACALL DELAY
DJNZ R1,WAN2
MOV P1,#0EEH ;A红灯,B黄灯
MOV R1,#04H
YL2: ACALL DELAY
DJNZ R1,YL2
AJMP LOOP ;循环执行主程序
INTT0:PUSH P1 ;P1口数据压栈保护
PUSH ACC ;ACC寄存器压栈保护
PUSH TH1 ;TH1压栈保护
PUSH TL1 ;TL1压栈保护
MOV P1,#0F6H ;A、B道均为红灯
MOV R2,#40 ;置0.5秒循环初值(20S)
DEY0: ACALL DELAY
DJNZ R2,DEY0 ;15秒未到继续循环
POP TL1 ;弹栈恢复现场
POP TH1
POP ACC
POP P1
RETI ;返回主程序
INTT1: CLR EA ;关中断
PUSH P1 ;压栈保护现场
PUSH ACC
PUSH TH1
PUSH TL1
SETB EA ;开中断
JB P3.0,BOP ;A道无车转向B道
MOV P1,#0F3H ;A道绿灯,B道红灯
SJMP DEL1 ;转向15秒延时
BOP: JB P3.1,EXIT ;B道无车退出中断
MOV P1,#0DEH ;A红灯,B绿灯
DEL1: MOV R5,#30 ;置0.5秒循环初值(15S)
NEXT: ACALL DELAY
DJNZ R5,NEXT ;15秒未到继续循环
EXIT: CLR EA
POP TL1 ;弹栈恢复现场
POP TH1
POP ACC
POP P1
SETB EA
RETI
DELAY: MOV R3,#0AH ;0.5秒子程序(50ms×10=0.5s)
MOV TH1,#3CH ;置50ms初值X=3CB0H
MOV TL1,#0B0H
SETB TR1 ;启动T1
LP1: JBC TF1,LP2 ;查询计数溢出
SJMP LP1
LP2:MOV TH1,#3CH ;置50ms初值X=3CB0H
MOV TL1,#0B0H
DJNZ R3,LP1
RET
END
5 系统仿真及调试
单片机系统硬件调试和软件调试是不能分开,许多硬件错误时在软件调试过程中被发现和纠正。但普通是先排除明显硬件故障后来,再和软件结合起来调试以进一步排除故障。可见硬件调试是基本,如果硬件调试不通过,软件设计则无从做起。
硬件调试重要是把电路各种参数调节到符合设计规定。先排除硬件电路故障,涉及设计性错误和工艺性故障。普通原则是先静态后动态。
运用万用表或逻辑测试仪器,检查电路中各器件以及引脚与否对的,与否有短路故障。
先要将单片机AT89S52芯片取下,对电路板进行通电检查,通过观测看与否有异常,然后用万用表测试各电源电压,这些都没有问题后,接上仿真器进行联机调试观测各接口线路与否异常。在一切都正常后,在将单片机AT89S52芯片插在底座上,进行通电实验,看与否跟预先目的现象一致。
单片机AT889S52是系统核心,运用万用表检测单片机电源VCC与否为(40脚)+5V、晶振与否正常工作(可用万用表检测,两引脚电压普通为1.8~2.3之间)、复位引脚RST(复位时为高电平,单片机工作时为低电平)、EA与否为+5V(高电平),这样一来单片机就能工作了,再结合电路图,检测故障就很容易了。
总 结
交通灯控制在交通运送领域有着非常重要作用。本文完毕了基于单片机交通灯控制系统设计与模仿。涉及通行方案设计,系统硬件开发、软件编程与仿真调试等。在课程设计完毕过程中,重要做工作有:
(1)拟定交通系统详细通行方案,规定东西向和南北向车辆行止状态和时间分派,以及规定其她多功能实现。
(2)以ATMEL公司AT89C52单片机为核心进行系统硬件设计,输入量涉及:车流量,按键状态;输出控制交通信号灯亮灭状态及时间。
本次课程设计过程是艰辛,但是收获却是很大。在设计过程中,会浮现了某些问题,但都是常用小问题,如:代码中双引号使用并不是在英语书写状态下,输入字母出错等,在调试时浮现异常,但是这些都是经常性错误,通过调试修改都一一解决,程序顺利完毕,并实现了其功能。
综合课程设计让我把此前学习到知识得到巩固和进一步提高结识,对已有知识有了更进一步理解和结识。在此,由于自身能力有限,在课程设计中遇到了诸多问题,我通过查阅有关书籍、资料以及和周边同窗交流。
由于使用是单片机作为核心控制元件,使得电路可靠性比较高,功能也比较强大,并且可以随时更新系统,进行不同状态组合。但是在咱们设计和调试过程中,也发现了某些问题,譬如红灯和绿灯切换还不够迅速,红绿灯规则不效率还不是很高等等,这需要在实践中进一步完善。
固然,通过这次课程设计,我也发现了自身诸多局限性之处,在后来学习中,我会不断完善自我,不断进取,能使自己在网络编程这方面有一种大发展。
本次课程设计,咱们深深体会到仅仅依托课本知识是远远不够。在查找资料和实践过程中,教师为咱们指点了许多咱们难以解决问题,使咱们知识水平大大提高。特别是在编程过程中,戴教师丰富经验也使得咱们受益匪浅,少走许多弯路。
最后,本次单片机课程设计过程使咱们结识到自身知识及能力薄弱,更让咱们懂得实践重要性。在后来学习过程中,咱们会更加努力学习单片机有关知识和应用,真正可以运用单片机构成微控制系统解决各种实际问题。
参照文献
1 黄智伟.凌阳单片机课程设计指引.北京:北京航空航天大学出版社,,
2 杨居义.单片机课程设计指引.北京:清华大学出版社,
3 李广弟.单片机基本.北京:北京航空航天大学出版社,
4 李朝青.单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,1998
5 何立民.单片机应用技术大全.北京:北京航空航天大学出版社,1994
6 张毅刚.单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,1990
7 谭浩强.单片机课程设计.北京:清华大学出版社,1989
指引教师评语
学号
姓名
班级
选题
名称
基于AT89S52单片机交通灯控制系统设计
序号
评价内容
权重(%)
得分
1
考勤记录、学习态度、工作作风与体现。
5
2
自学状况:
上网检索机时数、文献阅读状况(笔记)。
10
3
论文选题与否先进,与否具备前沿性或前瞻性。
5
4
成果验收:
与否完毕设计任务;能否运营、可操作性如何等。
20
5
报告格式规范限度、与否图文并茂、语言规范及流畅限度;主题与否鲜明、重心与否突出、阐述与否充分、结论与否对的;与否提出了自己独到看法。
30
6
文献引用与否合理、充分、真实。
5
7
答辩状况:
自我陈述、回答问题对的性、用语精确性、逻辑思维、与否具备独到看法等。
25
共计
指引教师(签章):
年 月 日
展开阅读全文