交通灯51单片机课程设计南昌航空大学.docx
《交通灯51单片机课程设计南昌航空大学.docx》由会员分享,可在线阅读,更多相关《交通灯51单片机课程设计南昌航空大学.docx(13页珍藏版)》请在冰豆网上搜索。
交通灯51单片机课程设计南昌航空大学
南昌航空大学课程设计
课程名称:
微机原理与接口技术
班级:
110451
姓名:
吴锦明学号:
11045109
指导教师评定:
签名:
2014年1月
摘要1
1.引言2
2.总体设计方案3
2.1.设计思路3
2.1.1.设计目的3
2.1.2.设计任务和内容3
2.1.3.方案比较、设计与论证4
3.电路模块6
3.1.LED数码管显示模块6
3.2.LED红黄绿灯显示模块7
3.3.晶振电路7
4.小结8
5.参考文献9
6.附录10
6.1.附录1:
程序清单10
6.2.附录2:
电路设计总图18
6.3附录3:
实物图23
摘要
随着社会经济的发展,城市问题越来越引起人们的关注。
人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。
城市交通控制系统是用于城市交通数据检测、交通信号灯控制与交通疏通的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?
靠的就是交通信号灯的自动指挥系统。
交通灯的控制方式很多,本系统采用可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现本系统的各种功能。
同时,本系统实用性强,操作简单。
本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、复位电路等几大部分组成。
系统除基本的交通灯功能外,还具有倒计时等功能,较好的模拟实现了十字路口可能出现的状况。
软件上采用C51编程,主要编写了主程序,LED指示灯,LED数码管显示程序等。
经过整机调试,实现了对十字路口交通灯的模拟。
关键字:
AT89S52交通灯LED数码管倒计时
1.引言
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
2.总体设计方案
2.1.设计思路
2.1.1.设计目的
(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
(2)用单片机模拟实现具体应用,使个人设计能够真正使用。
(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。
(4)提高利用已学知识分析和解决问题的能力。
(5)提高实践动手能力。
2.1.2.设计任务和内容
2.1.2.1.设计任务
单片机采用用AT89S52芯片,使用发光二极管(红,黄,绿)代表各个路口的交通灯,用7段数码管对转换时间进行倒时(东西路口20秒,南北路口30秒,黄灯时间3秒)。
2.1.2.2.设计内容
(1)设计并绘制硬件电路图
(2)制作PCB并焊接好元器件
(3)编写程序并将调试好的程序固化到单片机中
2.1.3.方案比较、设计与论证
2.1.3.1.电源提供方案
为使模块稳定工作,须有可靠电源,采用单片机控制模块提供电源。
此方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。
2.1.3.2.复位方案
复位方式有两种:
按键复位与软件复位。
由考虑到程序的简洁,避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。
2.1.3.3.输入方案
方案一:
采用89S52扩展I/O口及键盘,显示等。
该方案的优点是:
使用灵活可编程,并且有RAM,及计数器。
若用该方案,可提供较多I/O口,但操作起来稍显复杂。
方案二:
直接在IO口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用2个按键,分别是K1、K2。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二
2.1.3.4.显示界面方案
该系统要求完成倒计时、状态灯等功能。
基于上述原因,我们考虑了三种方案:
方案一:
完全采用数码管显示。
这种方案只显示有限的符号和数码字符,无法胜任题目要求。
方案二:
完全采用点阵式LED显示。
这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:
采用数码管与点阵LED(点阵式和8段式LED)相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。
设计方框图
整个设计以AT89S52单片机为核心,由数码管显示,LED数码管显示,复位电路组成。
3.电路模块
硬件模块入图:
3.1LED数码管显示模块
3.2LED红黄绿灯显示模块
3.3晶振(12M)电路
4.小结
通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。
本次课程设计的过程是艰辛的,不过收获却是很大的。
综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。
在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流。
由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。
但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不效率还不是很高等等,这需要在实践中进一步完善。
当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我。
5.参考文献
[1].郑初华.汇编语言、微机原理及接口技术(第三版)
[2].李朝青.单片机原理及接口技术(第3版).2005年10月
[3].高洪志.MCS-51单片机原理及应用技术教程
[4].朱善军、孙新亚、吉永东.单片机接口技术与应用
[5].江太辉、石秀芳.MCS-51系列单片机原理与应用
6.附录
6.1附录1:
程序清单
;====================交通灯控制器==========================
JSEQU30H;东西路口计时寄存器
DXRBITP1.1;东西路口红灯
DXYBITP1.4;东西路口黄灯
DXGBITP1.7;东西路口绿灯
NBRBITP3.1;南北路口红灯
NBYBITP3.4;南北路口黄灯
NBGBITP3.7;南北路口绿灯
ORG0000H
LJMPSTART
ORG0100H
START:
MOVTMOD,#01H;置T0为工作方式1
MOVTH0,#3CH;置T0定时初值50ms
MOVTL0,#0B0H
CLRTF0
SETBTR0;启动T0
;**********************东西绿灯,南北红灯***********************
LOOP:
MOVR2,#20;置1s计数初值,50ms*20=1s
MOVR3,#10;灯亮10s
MOVJS,#13;东西路口计时显示初值13s
LCALLDISPLAY
SETBDXR;东西红灯灭---用于循环(WAIT4)后
SETBNBY;南北黄灯灭---用于循环(WAIT4)后
CLRDXG;东西路口绿灯亮
CLRNBR;南北路口红灯亮
WAIT1:
JNBTF0,WAIT1;查询50ms到否
//CLRTF0
MOVTH0,#3CH;恢复T0定时初值50ms
MOVTL0,#0B0H
DJNZR2,WAIT1;1s
MOVR2,#20;置50ms计数初值
DECJS;东西路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT1;状态1维持20s
;*********************东西黄灯(闪),南北红灯(闪)**********************
MOVR2,#5;置50ms计数初值5*4=20
MOVR3,#3;灯闪3s
MOVR4,#4;闪一次200ms
LCALLDISPLAY
SETBDXG;东西绿灯灭
CLRDXY;东西路口黄灯闪
WAIT2:
JNBTF0,WAIT2;查询50ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值50ms
MOVTL0,#0B0H
DJNZR4,WAIT2;200ms
CPLDXY;东西黄灯反相
CPLNBR;南北红灯反相
MOVR4,#4;闪烁间隔200ms
DJNZR2,WAIT2;1s标志
MOVR2,#5;置50ms计数初值
DECJS;东西路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT2;状态2维持3s
;********************东西红灯,南北绿灯***********************
MOVR2,#20;置50ms计数初值
MOVR3,#15;灯亮15s
MOVJS,#18;东西路口计时显示初值18s
LCALLDISPLAY
SETBDXY;东西黄灯灭
SETBNBR;南北红灯灭
WAIT3:
CLRDXR;东西红灯亮
CLRNBG;南北绿灯亮
JNBTF0,WAIT3;查询50ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值100ms
MOVTL0,#0B0H
DJNZR2,WAIT3;1s标记
MOVR2,#20;置50ms计数初值
DECJS;东西路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT3;状态4维持20s
;*******************东西红灯(闪),南北黄灯(闪)************************
MOVR2,#5;置50ms计数初值
MOVR3,#3;总共闪3s
MOVR4,#4;灯闪一次20ms
;LCALLDISPLAY
SETBNBG;南北绿灯灭
CLRNBY;南北黄灯亮
CLRDXR;东西红灯亮
WAIT4:
JNBTF0,WAIT4;查询50ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值50ms
MOVTL0,#0B0H
DJNZR4,WAIT4;200ms
CPLNBY;反相,南北黄灯闪
CPLDXR;反相,东西红灯闪
MOVR4,#4;闪烁200ms
DJNZR2,WAIT4;1s
MOVR2,#5;置50ms计数初值
DECJS;东西路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT4;状态5维持3s
LJMPLOOP;进入下一次循环
;*******************数码显示************************
DISPLAY:
MOVA,JS
MOVB,#10
DIVAB
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP0,A;显示高位
MOVA,B
MOVCA,@A+DPTR
MOVP2,A;显示低位
RET
TAB:
DB3FH,06H,5BH,4FH,66H;0,1,2,3,4
DB6DH,7DH,07H,7FH,6FH;5,6,7,8,9
END
6.2附录2:
电路设计总图
6.3附录3:
实物图