当前位置:文档之家› 交通灯毕业设计论文

交通灯毕业设计论文

摘要本系统由单片机系统、键盘、LED显示、交通灯演示系统组成。

系统包括人行道、左转、右转、以及基本的交通灯的功能。

系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

随着社会经济的发展,城市交通问题越来越引起人们的关注。

人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。

城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。

关键词:单片机;交通灯;控制器近年来,随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。

如何让利用当今计算机和自动控制技术,有效地疏通交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个话题。

目前,国内的交通灯一般设在十字路口,在醒目位置用红绿黄三种颜色的指示灯再加上一个倒计时的显示计时器来控制行车。

我国交通法规也对交通指挥信号灯做出规定:(1)绿灯亮时,准行车辆,行人通行,但转弯的车辆不准妨碍执行的车辆和被放行的行人通行。

(2)黄灯亮时,不准车辆行人通行,但已越过停止线的车辆和已进入人行横道的行人,可以继续通行。

(3)红灯亮时,不准车辆,行人通行。

(4)绿色箭头灯亮时,准行车辆按箭头所示方向通行。

(5)黄灯闪烁时,车辆行人在确保安全的原则下可以通行。

信号灯的出现,使交通得到有效管制,对于疏导交通流量、提高道路通行能力和减少交通事故有明显效果。

摘要 (2)Abstract (3)引言 (4)第一章方案论证与设计 (5)第二章系统硬件设计 (7)第三章系统软件流程图设计 (12)第四章系统软件程序设计 (16)第五章系统仿真 (21)第六章调试与功能说明 (22)附录整机电路图 (23)结束语 (24)致谢 (25)参考文献 (26)第一章 方案论证与设计本设计以单片机为核心,以LED 数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。

系统总体设计框图如图1-1所示。

交通灯控制的框图如下图所示,主要有控制电路、按键电路、晶振电路、复位电路、显示电路、电源电路等电路组成。

图1-1系统总体设计框图 一.电源提供方案为使模块稳定工作,须有可靠电源。

本次设计考虑了两种电源方案:方案一:采用独立的稳压电源。

此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。

方案二:采用单片机控制模块提供电源。

该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。

综上所述,选择第二种方案。

二.显示界面方案该系统要求完成倒计时功能。

基于上述原因,本次设计考虑了两种方案: 方案一:完全采用点阵式LED 显示。

这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。

时钟电路复位电路单片机 AT89C51 红绿灯装置 驱动装置 倒计时显示装置方案二:完全采用数码管显示。

这种方案优点是实现简单,可以完成倒计时功能。

缺点是功能较少,只能显示有限的符号和数码字符。

根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示.三.输入方案这里同样讨论了两种方案:方案一:采用8155扩展I/O口、键盘及显示等。

该方案的优点是使用灵活可编程,并且有RAM及计数器。

若用该方案,可提供较多I/O口,但操作起来稍显复杂。

方案二:直接在I/O口线上接上按键开关。

因为设计时精简和优化了电路,所以剩余的端口资源还比较多。

由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。

第二章系统硬件设计一.总体设计本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。

单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。

它由单片机振荡电路、复位电路等组成。

键盘及状态显示,开关键盘输入交通灯初始时间,通过单片机P1输入到系统。

系统采用双数码管倒计时计数功能,最大显示数字99。

在交通情况比较特殊的情况下,可以通过K1、K2、K3三个按键对对交通灯进行控制。

二.单片机基本结构1.MCS-52单片机内部结构8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:2.中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

3.数据存储器(RAM)8052内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

图2-1单片机8051的内部结构4.程序存储器(ROM):8052共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

5.定时/计数器:8052有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

6.并行输入输出(I/O)口:8052共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。

7.全双工串行口:8052内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

8.中断系统:8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

9.时钟电路:8052内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

10.MCS-52的引脚说明:MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP 结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

现在我们对这些引脚的功能加以说明:11.MCS-52的引脚说明:MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP 结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

如图2-2所示,现在我们对这些引脚的功能加以说明:图2-2 单片机的引脚图Pin9:RESET/Vpd复位信号复用脚,当8052通电,时钟电路开始工作,在RESET 引脚上出现24个时钟周期以上的高电平,系统即初始复位。

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。

RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。

然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8052的初始态。

8052的复位方式可以是自动复位,也可以是手动复位,见下图4。

此外,RESET/Vpd 还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。

三.单片机最小系统1.时钟电路如图2-3所示图2-3时钟电路XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。

内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。

晶振的频率可以在1MHz-24MHz内选择。

电容取30PF左右。

系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。

AT89单片机内部有一个用于构成振荡器的高增益反相放大器。

引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。

这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。

外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。

对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。

因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。

在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。

2.复位电路在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。

复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。

当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。

复位是由外部的复位电路来实现的。

片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。

复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。

当时钟频率选用6MHz时,C 取22μF,Rs约为200Ω,Rk约为1K。

复位操作不会对内部RAM有所影响。

常用的复位电路如图2-4所示:图2-4复位电路图3.LED显示电路显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有:发光二极管LED显示器、液晶LCD显示器、CRT显示器等。

LED显示器是现在最常用的显示器之一,如图2-5所示。

图2-5 LED显示器的符号图发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。

分段式显示器(LED数码管)由7条线段围成8字型,每一段包含一个发光二极管。

外加正向电压时二极管导通,发出清晰的光。

只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。

LED数码管有共阳、共阴之分。

图是共阳式、共阴式LED 数码管的原理图和符号第三章系统软件流程图设计一.软件流程图设计1.主程序流程图如图3-1主程序流程图2.定时中断子程序图3-2定时中断子程序流程图3.显示子程序流程图图3-3显示子程序流程图4.按键子程序流程图图3-4按键子程序流程图第四章系统软件程序设计****************;;*1秒延时子程序*;;****************;DELAY:MOV R1,#0AHDELAY0:MOV R2,#0C8HDELAY1:MOV R3,#0F8HNOPDELAY2:DJNZ R3,DELAY2DJNZ R2,DELAY1DJNZ R1,DELAY0RET;***************;;键盘扫描子程序;;***************;READKEY:MOV A,#0FFHMOV P3,AMOV A,P3JNB ACC.0,K1 ;判断K1键是否按下JNB ACC.1,K2 ;判断K2键是否按下JNB ACC.3,K3 ;判断K3键是否按下RETK1:MOV P0,#0FFH ;关断倒计时显示装置MOV P2,#0FFHLCALL XXLCALL YYSJMP READKEYK2:MOV P0,#0FFH ;关断倒计时显示装置MOV P2,#0FFHLCALL XXLCALL YY1SJMP READKEYK3:MOV P0,#0FFH ;关断倒计时显示装置MOV P2,#0FFHLCALL XXLCALL YY2SJMP READKEYXX:MOV 20H,#03HLCALL BBRET;******************;;*黄灯进行5秒闪烁*;;******************;BB:SETB P1.1SETB P1.4LCALL DELAYCLR P1.1CLR P1.4LCALL DELAYDJNZ 20H,BBRETYY:MOV P1,#0F6H ;四个路后均变成红灯MOV A,#0FFHMOV P3,AMOV A,P3JNB ACC.0,YY ;判断K1键是否仍然按下LCALL QWYY1:MOV P1,#0F3H ;东西方向亮绿灯,南北方向亮红灯MOV A,#0FFHMOV P3,AMOV A,P3JNB ACC.1,YY1 ;判断K2键是否仍然按下LCALL QWYY2:MOV P1,#0DEH ;南北方向亮绿灯,东西方向亮红灯MOV A,#0FFHMOV P3,AMOV A,P3JNB ACC.3,YY2 ;判断K3键是否仍然按下LCALL QWRET;****************;;*中断处理程序*;;****************;ORG 0200H ;中断程序入口地址Liu:DEC 88HMOV A,88HCJNE A,#01H,BN ;判断循环次数是否为1MOV 88H,#15H ;重新给循环次数赋值LCALL DISPBN:MOV TH1,#9EH ;重新给定时器T1赋初值MOV TL1,#58HRETI;************;;*显示子程序*;;************;DISP:DEC 33HMOV A,33HCJNE A,#01H,DIR1MOV 33H,#3DH ;重新给倒计时数赋初值DIR1:MOV B,#0AHDIV AB ;提取出倒计时数值的十位数和个位数MOV DPTR,#TAB ;字形表的入口地址MOVC A,@A+DPTR ;查表获取十位数的字型码MOV 30H,AMOV A,BMOVC A,@A+DPTR ;查表获取个位数的字型码MOV 31H,AMOV A,30HMOV P0,A ;将十位数字型码送到P0口MOV A,31HMOV P2,A ;将个位数字型码送到P2口LCALL DELAYRETTAB:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H;字形表END3.3控制程序ORG 0000HLJMP MAINORG 001BH ;定时器T1中断入口LJMP liuORG 0100H ;主程序入口;********;;*主程序*;;********;MAIN:MOV SP,#60HMOV TMOD,#10H ;定时器T1工作在方式1 MOV TH1,#9EH ;给定时器T1赋初值MOV TL1,#58HSETB EA ;开中断系统总开关SETB ET1 ;开定时器T1中断开关SETB TR1 ;启动定时器T1HERE:MOV 88H,#15H ;设置中断循环次数MOV 33H,#3DH ;设置倒计时显示数值MOV P1,#0F3H ;使交通灯东西绿,南北红MOV R7,#37HMM:LCALL DISPMOV A,P3 ;键盘扫描CJNE A,#0FFH,READKEYDJNZ R7,MMMOV P1,#0E1H ;交通灯东西绿,南北红同时加亮黄灯MOV 20H,#02HNN:MOV A,P3CJNE A,#0FFH,READKEYSETB P1.1 ;黄灯进行5秒闪烁SETB P1.4LCALL DISPCLR P1.1CLR P1.4LCALL DISP ;调显示子程序DJNZ 20H,NNSETB P1.1SETB P1.4LCALL DISPMOV P1,#0DEH ;交通灯南北绿,东西红MOV R7,#37HPP:LCALL DISPMOV A,P3CJNE A,#0FFH,READKEYDJNZ R7,PPMOV P1,#0CCH ;交通灯南北绿,东西红同时加亮黄灯MOV 20H,#02HQQ:MOV A,P3 ;扫描P3口CJNE A,#0FFH,READKEYSETB P1.1SETB P1.4 LCALL DISP CLR P1.1 CLR P1.4 LCALL DISP DJNZ 20H,QQ SETB P1.1 SETB P1.4 LCALL DISP LCALL QW QW:SJMP HERE RET第五章系统仿真一.PROTUES软件介绍Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS 模块用来完成电路原理图的布图与仿真。

相关主题