单片机交通灯设计报告.docx
- 文档编号:11486174
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:7
- 大小:19.53KB
单片机交通灯设计报告.docx
《单片机交通灯设计报告.docx》由会员分享,可在线阅读,更多相关《单片机交通灯设计报告.docx(7页珍藏版)》请在冰豆网上搜索。
单片机交通灯设计报告
单片机交通灯设计报告
单片机交通灯设计报告交通灯控制器班级:
.***班姓名:
***摘要:
本系统采用MSC-51系列单片机来设计交通灯控制器,实现了各方向车辆、行人轮流通行的功能,此外还设置人性化倒计时显示。
同时还具有南北、东西方向强制通行功能。
各方向红绿等由P1口控制,倒计时显示数码管由P2口控制,强通靠中断来实现。
系统中用到74LS245用来驱动LED灯和数码管显示。
本系统实用性强、操作简单、扩展功能强、便于维护。
关键词:
单片机、交通灯、晶振、数码管一引言近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,针对具体应用对象的特点,配以其它器件来加以完善.伴随人口车辆的日益增长,那么十字路口车辆穿梭,行人熙攘,如何才能使交通井然有序呢?
靠的就是交通信号灯的自动指挥系统。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让正在路口内直行的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
本系统采用MSC-51系列单片机来设计交通灯控制器,实现了各方向车辆、行人轮流通行的功能,此外还设置人性化倒计时显示。
同时还具有南北、东西方向强制通行功能。
二总体设计方案2.1设计思路2.1.1红绿灯端口个数十字路口共四个方向,其中东西方向与南北方向各自灯亮灭是一致的。
所以,采用六位信号控制各方向红、黄、绿灯即可。
2.1.2通行时间设计红绿灯显示时间:
以南北向为例,南北方向绿灯,东西方向红灯,倒计时25s,到5s时,绿灯开始闪烁,闪烁时间2s。
倒计时到3s时,南北向绿灯灭,红灯亮。
倒计时结束后,南北方向红灯,东西方向绿灯,倒计时从新开始,如此循环运行。
2.1.3数码管显示设计为使倒计时显示代码更简洁直观,倒计时显示采用静态显示,直接由I/O接口输出给对应数码管。
2.2方案确立红绿灯、数码管输出采用并口输出,在需要延时时CPU进行空操作延时。
各方向红绿灯的亮灭用传送指令给相应端口赋值。
数码管显示程序,采用每调用一秒延时程序,为数码管对应端口赋一次值的算法。
南北向、东西向强通各使用一个中断,当其中一个中断响应后,CPU执行对应的中断程序,使红绿灯、数码管按程序点亮,然后CPU进行死循环。
当需要结束强通时,只需按下复位键,单片机即可从新工作。
采用P1口低六位来控制东西方向和南北方向的红、黄、绿灯。
P2口低四位和高四位分别输出倒计时的十位和个位BCD码,经过译码器输出到数码管。
东西、南北方向强通靠中断来实现。
2.3设计方框图2.3.1电路方框图单片机复位电路时钟电路强通电路倒计时驱动电路红绿灯驱动电路倒计时显示电路红绿灯显示电路图1电路设计方框图电路方框图有单片机、复位电路、时钟电路、强通电路、倒计时驱动电路、倒计时显示电路、红绿灯驱动电路、红绿灯显示电路构成,其各部分的主控与被控关系如电路中箭头所示。
2.3.2程序方框图图2程序方框图单片机上电后,从0000H开始执行,程序直接跳往主程序。
在主程序中,首先对单片机进行初始化,初始化包括开启中断服务,并打开中断0、中断1,以便按下强通按钮后可以跳转到中断程序(中断程序在后面做详细介绍)。
然后执行程序主体,先为P1口赋值,使南北方向绿灯,东西方向红灯亮,再调用延时1子程序。
延时1子程序采用循环与查表指令每隔一秒为P2口赋值一次,从而显示出从25递减的倒计时。
当倒计时为5时,返回主程序并调用南北绿灯闪烁子程序,在本子程序中,先调用一次一秒钟的闪烁子程序,再P2口赋值使倒计时显示04,然后再调用一次一秒中的闪烁子程序,然后返回主程序。
接着向P1口赋值,使南北方向黄灯,东西方向红灯亮,再调用延时2子程序,每隔一秒为P2口赋值一次,以便显示除由3到1的倒计时显示。
南北方向通行结束,为P1口赋值,使南北方向红灯,东西方向绿灯,再调用延时1子程序。
当倒计时为5使,返回主程序并调用东西绿灯闪烁子程序,返回主程序后,向P1口赋值,使南北方向红灯,东西方向黄灯,再调用延时2子程序。
此时,程序主体执行一遍,南北各通行25s,由跳转指令使程序跳往程序主体开始地址,循环执行程序主体。
三设计原理分析3.1复位电路和震荡电路的设计图3复位电路和震荡电路复位电路采用按键电平复位式复位电路。
如复位电路所示,单片机正在工作时,当按下RESET键时,RST端相当于接高电平,从而单片机即可复位。
震荡电路使用一个12M晶振和两个30PF电容,配合片内振荡器产生12MHZ片内时钟信号,供单片机正常工作使用。
3.2红绿灯显示电路的设计如图4所示,红绿灯显示电路使用P1口低六位,通过一片74LS245驱动芯片进行功率放大,然后送给对应红绿灯,使其按照程序熄灭。
74ls245的AB/BA端接高电平,表示数据由A端向B端输送。
发光管的公共端进过一分压二极管接到VCC,因此为低电平有效。
在设计方案中提到,南向和北向,东向和西向的红绿灯显示一致,所以南向和北向,东向和西向的红绿灯应接到相同的I/O口,在本电路中,南向和北向,东向和西向的红绿灯相串联接如P1口。
其中,P1.0、P1.1、P1.2输出控制南北向红灯、绿灯、黄灯;P1.3、P1.4、P1.5输出控制东西向红灯、绿灯、黄灯。
图4红绿灯显示电路在程序中,若想南北绿灯,东西红灯,只需MOVP1,#35H即可,其中35H对应的二进制为00110101(b),最高两位无效,1、0均可,这里最高两位为0。
在低六位中,1对应的发光管熄灭,0对应的发光管点亮。
同理,其他灯的亮灭只需为P2口赋相对应的十六进制值即可。
3.3倒计时数码显示电路的设计图6倒计时数码显示电路数码管显示电路由P2口控制,其中高四位输出十位BCD码,低四位输出个位BCD码,然后输出至74ls47芯片对应的BCD码输入端口。
经74ls47译码后的a~g7位数码显示信号直接输入到数码管a~g各对应端口。
在此电路中,只需向P2口写入所要显示的BCD码即可,不需对P2口所需显示码进行复杂的计算。
为使74ls47芯片能正常工作,其各使能端均接高电平。
由于P2口高四位对应十位数码管译码器的BCD码端,低四位对应个位数码管译码器的BCD码端。
所以,当倒计时显示25时,只需执行MOVP2,#25H即可。
显示其他数值与次一致,只需将对应的值赋给P2口即可。
编程中,将数码管倒计时对应的P2口的编码值定义成表格,在执行倒计时显示时,可以用循环指令配合查表指令显示出倒计时的数值,提高程序的执行效率,使程序更简洁,占用空间更小。
3.4强通电路的设计图7强通电路如图所示,INT0(南北强通),INT1(东西强通)分别接一开关按钮到地,当按下其总某一开关时,向CPU发出中断请求,CPU转而执行相对应的中断程序,从而实现强制通行。
在强通结束后,只需按下RESET键即可复位,单片机重新正常工作。
四结束语通过此次实习,我更加了解到自己对专业知识的不足,在课堂上我只能学习到理论知识,但实际动手能力却很差。
在硬件设计中还是没有很大困难的。
最困难的就是编写程序,加上对汇编程序的生疏,根本就不知道从何入手,还好有同学的帮助。
对于所编写的程序,自己感觉从理论上是可以的,但一应用到硬件上就不行了,通过这次实习,使我的理论知识上升到了一个实践的过程。
同时在实践中也加深了我们对理论知识的理解。
现在我们已经是大四了,马上就要踏入社会,这些实践性的东西对我们来说是至关重要的,它让我们脱离了书生的稚气,增加了对实际应用有了更深入的了解。
通过这三周的学习,我感觉有很大的收获:
首先,通过学习使自己对课本上的知识可以应用于实际,使的理论与实际相结合,加深自己对课本知识的更好理解,同时实习也段练了我个人的动手能力,能够充分利用图书馆去查阅资料,能够很好的利用进行搜索有用的资料,增加了许多课本以外的知识。
能对protel99SE和proteus进行比较熟练的操作,能达到学以致用。
总之,虽然实习的时间很短,但对我来说,收获是很大的。
我会更加珍惜我的学习,并且用实习的心得时时激励自己。
在这次设计中我得到了同学很多的帮助,我非常感谢他们,而且在设计过程中得到了老师们的帮助,衷心感谢老师给我们提供了这次难得的实践机会!
参考文献【1】肖玲妮.印刷电路板设计教程.[M].北京:
清华大学出版社,2003【2】李朝青.单片机原理及接口技术.[M].北京:
北京航空航天大学出版社,2008【3】余小平等.电子系统设计.[M].北京:
北京航空航天大学出版社,2007【4】邱关源.电路.[M].北京:
高等教育出版社,2006【5】叶祥、杨帆、单片机系统开发实例北京:
冶金工业出版社,2006附录一:
程序清单ORG0000HLJMPZHU;跳往主程序ORG0003H;南北强通子程序MOVP1,#35H;南北绿灯,东西红灯MOVP2,#88H;强通时,倒计时显示88AJMP$RETIORG0013H;东西强通子程序MOVP1,#2EH;南北红灯,东西绿灯MOVP2,#88H;强通时,倒计时显示88AJMP$RETIORG0030H;数码管显示倒计时对应代码从0030开始存放DB25H,24H,23H,22H,21H,20H,19H,18H,17H,16HDB15H,14H,13H,12H,11H,10H,09H,08H,07H,06H;***主程序开始***ORG0100HZHU:
MOVDPTR,#0030H;给DPTR赋值,为倒计时查表做准备SETBEASETBEX0SETBEX1;开启两个中断LOOP:
MOVP1,#35H;南北绿灯,东西红灯LCALLY1;延时25s,同时数码管显示子程序LCALLNBSS;调用绿灯闪烁子程序MOVP1,#33H;南北黄灯,东西红灯LCALLY2;延时3秒,同时数码管显示子程序MOVP1,#2EH;一下5行同理LCALLY1LCALLDXSSMOVP1,#1EHLCALLY2LJMPLOOP;主程序结束,循环执行;***延时25s,同时数码管显示子程序***Y1:
MOVR5,#14H;绿灯时,延时到5s,知道该闪烁前结束的子程序MOVA,#00H;以下8行,采用循环指令,每隔一秒为数码管赋值K1:
MOVR4,AMOVCA,@A+DPTRMOVP2,AMOVA,R4LCALLPLINCADJNZR5,K1RET;返回主程序(调用执行绿灯闪烁子程序);***延时3秒,同时数码管显示子程序***Y2:
MOVP2,#03HLCALLPLMOVP2,#02HLCALLPLMOVP2,#01HLCALLPLRET;***南北方向绿灯闪烁子程序,共向下12行(不包括调用的BM三分之一秒延时)***NBSS:
MOVP2,#05HLCALLSS1MOVP2,#04H;闪烁一秒后,数码管显示04LCALLSS1RETSS1:
MOVR1,#03H;每秒中闪烁3次S1:
MOVP1,#37HLCALLBMMOVP1,#35HLCALLBMDJNZR1,S1RET;***东西方向绿灯闪烁子程序,与南北方向原理相同***DXSS:
MOVP2,#05HLCALLSS2MOVP2,#04HLCALLSS2RETSS2:
MOVR1,#03HS2:
MOVP1,#3EHLCALLBMMOVP1,#2EHLCALLBMDJNZR1,S2RET;***一秒钟延时子程序***PL:
MOVR1,#64HDS1:
MOVR2,#10HDS2:
MOVR3,#0FFHDS3:
DJNZR3,DS3DJNZR2,DS2DJNZR1,DS1RET;***三分之一秒延时子程序***BM:
MOVR1,#1EHDS1:
MOVR2,#10HDS2:
MOVR3,#0FFHDS3:
DJNZR3,DS3DJNZR2,DS2DJNZR1,DS1RETEND附录二:
总电路图9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 交通灯 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)