《基于单片机的交通灯设计报告.doc》由会员分享,可在线阅读,更多相关《基于单片机的交通灯设计报告.doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于单片机的交通灯设计基于单片机的交通灯设计摘要:随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。交通信号灯控制方式很多,本系统采用ATS51和8位移位寄存器74LS164为中心器件来设计交通灯控制器,不仅实现了红黄绿灯分别燃亮,通过双位共阳数码管显示倒计时间的交通灯的基本功能而且扩展出当有救护车等紧急任务车辆通过时两个路口红灯同时燃亮的功能。本系统实用性强,操作简单,价格便宜。关键字:5
2、1单片机 交通灯 救护车通过1、引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一
3、座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯
4、,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。2、概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。单片机经过1、2、3、4代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗节能化。3、方案的选择方案选择主要是基于数码管
5、驱动的选择方案1:利用8255通过74LS373锁存器对8051的I/O口进行扩展,用8051的P0口控制交通灯部分,用扩展出来的端口通过74LS245总线驱动控制控制数码管的输出。该方案硬件接线麻烦,花费较大,且软件编程困难,但是由于8255的扩展端口,所以系统有很大的功能扩展空间。方案2:利用两片74LS164对并行的I/O口进行扩展,用于驱动两个7段数码管,用8051的P1口直接控制交通灯部分,此方案硬件实现简单,软件实现也相对容易,它极大能力的节省了8051I/O口的使用,为系统功能扩展提供了必要的条件。因此选择方案2.、系统的原理框图六路交通灯控制部分最小系统紧急车辆通过模块段数码管
6、显示控制模块图一.系统原理框图、芯片简介.1MSC-51芯片介绍8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。.4LS164芯片介绍在多数的应用场合中,我们并不希望使用多I/O端口的单片机,原则上是使用尽量少引脚的器件。在没有富余端口的情况下, 可以用74LS164来扩展并行IO口,节约单片机资源。74LS164是一个串行输入并行输出的移位寄存器。并带有清除端。其中; Q0Q7并行输出端 。 A,B串行输入端。 MR清除端, 为0时,输出清零。 CP时钟输入端。74LS16
7、4为普通的TTL电路,价格低,显示驱动均可使用该芯片完成74ls164如何驱动数码管原理:传入并出移位寄存器,在每个时钟的上升沿采样数据,使用的时候用一个IO口做数据线串行输入,再用一个口做时钟来拉高拉低控制采样数据即可。例如:图二74LS164数码管驱动电路 32根据硬件可知,P3.0接在74LS164的数据输入端,P3.1接在74LS164的时钟端。而74LS164的功能为:第一个时钟来了将数据输入端的状态移位到Q7端,Q7的状态到Q6端依次类推最后Q1的状态到Q0端,Q0状态丢失。第二个时钟脉冲来到再作一次全体移动。所以当来了8个时钟脉冲后。 原来第一次Q7的状态就到了Q0。也就是当数据
8、端随着时钟脉冲同步输出00111111时,8个时钟脉冲过后74LS164的Q7Q0输出也为00111111,这时会使共阴数码管显示一个“3”。6、模块介绍6.1 8051控制模块图三. 8051控制模块6.1.1 8051的P3.3口外接外部中断,此中断通过按键S1实现,实现功能为紧急车辆的优先通过。6.1.2 8051的XTAL1与XTAL2接外部时钟电路,用于控制单片机的工作周期。6.1.3 RXD,TXD接外部编程线路,用于对8051进行编程,方便其控制应用电路。6.1.4 p1口p1.0-p1.5连接发光二极管,具体作用通过编程实现。6.1.5 P3.0,P3.1分别连接74LS164
9、的A,B串行输入口以及CLK接口, 用于数码管的动态显示控制。6.2发光二极管控制模块图四.发光二极管控制模板P1.0-p1.5用于连接发光二极管,另外由于8051管脚输出电流太大,所以必须加0.3K排阻用于限流,发光二极管共阳极连接+5V6.3数码管控制模块图五.数码管控制模块由于数码管显示交通灯的倒计时,东西方向,南北方向数码管显示相同,因为是课程设计作业,为方便电路,仅接两个数码管显示,具体由程序实现通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形。由于选共阳极数码管,所以A端接高电平。7、系统功能本设计可以实现交通灯的基本功能,包括了数码管的动态显示倒计时以及发光二
10、极管的红绿黄灯通行指示,另外还添加了一个按键实现紧急车辆通过时双向红灯全亮的功能。8、使用说明将单片机最小系统与设计电路用排线连接,确定无误之后,打开最小系统电源,交通灯开始正常运行,当有紧急车辆通过时,按中断按键。9、程序流程图开始初始化设定初值红灯倒计时倒计时完毕?Y黄灯亮2秒N绿灯倒计时倒计时完毕?Y黄灯亮2秒N结束图六.程序流程图主程序是否有中断执行中断程序,南北东西红灯全亮程序流程图程序包括两个部分,主程序以及调用程序。主程序包括了定时器初值设定和开外部中断的部分。是中断程序的主要部分,它实现的是当有紧急车辆通过时的两个方向红灯同时亮的功能。它设定了中断过程所要执行的具体指令。调用部
11、分包括了及,两部分的程序,其中实现的是交通灯红绿黄灯的转换,实现的是倒计时设定,是倒计时显示中的二转十,是数码管显示部分。10、参考文献:【1】大学生电子设计联盟. 【2】柴钰 单片机原理及应用【M】.西安市太白南路2号,西安电子科技大学出版社.2009年2月.【3】柴钰,刘晓荣,杨良煜QTH-2008XS单片机实验指导书【M】.西安科技大学2007年3月. 附录附录1 总的硬件原理图:附录2 程序设计ORG 0000H ;程序入口地址AJMP STARTORG 0100H ORG 0020HAJMP X1ORG 0013H ;中断1入口地址AJMP IINT1X1:MOV IE,#10000
12、101B ;开中断1,紧急车通过两个方向红灯亮CLR IT1SETB EASETB EX1IINT1:PUSH PSW ;中断过程现场保护PUSH ACCMOV A,#0F6HMOV P1,APOP ACC ;现场恢复POP PSWRETISTART: MOV SP, #53H MOV TMOD, #01H ;定时器初始化 BEGIN0:MOV R0,#14H ;倒计时初值 MOV P1,#0FFH LCALL X1F1: MOV A,#0DEH ;东西方向绿灯亮,南北方向红灯亮 MOV P1,A MOV 23H,#14H ;赋计数器初值 MOV A,R0 LCALL TRAN ;调用二转十子
13、程序 LCALL DISP ;调用显示子程序 LCALL DELAY ;调用延时程序 DEC A ;倒计时自减1 DJNZ R0,F1 MOV R0,#02H ;设定黄灯倒计时初值 MOV P1,#0FFHF2: MOV A,#0EEH ;东西方向黄灯亮,南北方向红灯亮 MOV P1,A MOV 23H,#14H MOV A,R0 LCALL TRAN LCALL DISP DEC A LCALL DELAY DJNZ R0,F2 MOV R0,#14HF3: MOV A,#0F3H ;东西方向红灯亮,南北方向绿灯亮 MOV P1,A MOV 23H,#14H MOV A,R0 LCALL T
14、RAN LCALL DISP LCALL DELAY DEC A DJNZ R0,F3 MOV R0,#02H MOV P1,#0FFHF4: MOV A,#0F5H ;东西方向红灯亮,南北方向黄灯亮 MOV P1,A MOV 23H,#14H MOV A,R0 LCALL TRAN LCALL DISP LCALL DELAY DEC A DJNZ R0,F4 LJMP BEGIN0DELAY: SETB TR0 ;延时子程序AGAIN: MOV TH0,#3CH MOV TL0,#0B0HLOOP2: JBC TF0,LOOP3 JMP LOOP2LOOP3: DJNZ 23H,AGAIN
15、 CLR TR0 RETTRAN: PUSH ACC ;二转十子程序 MOV R2, A MOV R6,#00H MOV R7,#08H LOOP:CLR C MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A DJNZ R7,LOOP POP ACC RET ORG 0300HDISP: MOV R1,A ;显示子程序 MOV A,R6 ANL A,#0FH ACALL SEND MOV A,R6 SWAP A ANL A,#0FH ACALL SEND MOV A,R1 RETSEND: MOV DPTR,#SGTB1 MOVC A,A+DPTR ;取字符 MOV SBUF,A JNB TI ,$ CLR TI;发送字符 RETSGTB1: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H ;字符表 END附录3 元件清单元件型号数量74LS16427段数码管(共阳)20.3K排阻1200电阻16发光二极管(红黄绿)各两个按键115