1、基于单片机的交通灯控制器摘 要红黄绿交通灯控制器采用单片机及程序存储器的扩展控制,实现控制器的功能要求,例如红黄绿灯的交替闪烁,定时等等。单片机将CPU,存储器,定时器计数器及各接口电路组成,具有良好的性价比。本控制器可分时段进行道路的管制,还可在紧急时刻进行手动控制,实施道路路况的控制。交通信号灯控制方式很多.本系统采用MSC51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输
2、出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。 关键词:单片机 交通灯 闯红灯 检测车流量1 单片机概述单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种.单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I
3、/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗.2。芯片简介8051是MCS51系列单片机的典型产品,8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整
4、个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。程序存储器(ROM) : 程序存储器以程序计数器PC作地址指针,通过16位地址总线,可寻址的地址空间为0000H0FFFFH共64K字节,其访问指令为MOVC。用于存放程序指令码与固定的表格等。80C51单片机中内部和外部共64K字节程序存储器的地址空间是统一的。对于有于
5、有内部ROM的单片机,在正常运行时,应把引脚接高电平,使程序从内部ROM开始执行。当PC值超出内部ROM的容量时,会自动转向外部程序存储器空间.定时/计数器(ROM):80C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向.并行输入输出(I/O)口:80C51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。每个口有8个引脚,共有32个I/O引脚,每一个并行I/O口都能用作输入或输出。各口的第一、第二功能如下:I/O口 引脚第一功能第二功能P0口 P0。0P0.7 输入与输出 分时的传送地址低8位与数据线P1口 P1。0P1.7 输入与输出
6、无第二功能P2口 P2.0P2.7 输入与输出 传送地址的高8位P3口 P3。0P3.7 输入与输出 P3。0-RXD:串行口输入端P3。1TXD:串行口输出端P3。1TXD:串行口输出端P3。2-:外部中断0中断请求输入端P3。3:外部中断1中断请求输入端P3。4-T0:定时器/计数器0外部输入端P3。5T1:定时器/计数器1外部输入端P3.6:外部数据存储器写选通信号P3。7:外部数据存储器读选通信号四个通道口都有一种特殊的线路结构,每个口都包含一个锁存器,即特殊功能寄存器P0-P3,一个输出驱动器和 两个(P3口有三个)三态缓冲期.这种结构在数据输出时,可以锁存,即在重新输出新的数据之前
7、,口上的数据一直保持不变。但对于输入信号是不锁存的,所以外设欲输入的数据必须保持到取数指令执行(把数据读取后)为止。 图2-1是80C51单片机的内部结构框图。若出去图中的存储电路和I/O部件,剩下的便是CPU。它可以分为运算器和控制器两部分。运算器功能部件包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存寄存器TMP1、TMP2、程序状态字寄存器PSW等。控制器功能部件包括程序计数器PC、指令寄存器IR、指令译码器ID、定时控制逻辑电路CU、数据指针寄存器DPTR、堆栈指针SP及时钟电路等。MCS51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,图
8、2-2是它们的DIP封装引脚图,如图40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。图中,RST-复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节.一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲.PSEN-程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器
9、取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态.如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令.3. 方案设计3。1 设计思路东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行.黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道
10、的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表3-1.表3-1南北道绿灯亮黄灯亮红灯亮红灯亮25S5S25S5S东西道红灯亮红灯亮绿灯亮黄灯亮对表31的说明: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为25秒。(2)黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行.时间为25秒。 (4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。3.2 整体设计图整体设计图如图3-2所示:图3-2 整体设计图3
11、。3 晶振电路设计晶振电路图如下图33所示.图3-3 晶振电路元器件的选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取30pF,晶振为30MHz。3。4 交通灯工作流程图对于一个交通路口来说,要根据其车流量来决定其红路灯的设计时间,所以用公式:车流量= 车流 / 时间 来表示。由东西道和南北道的车流量分别设计其红灯亮和绿灯亮的时间,假设南北道车流量大于东西道车流量,可得红绿灯工作流程图如下图34所示。图33 红绿灯工作流程图4。心得体会通过这次交通灯的设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用
12、编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础.综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流得到解决。5。 参考文献1张毅坤. 单片微型计算机原理及应用.西安电子科技大学出版社,1998 2余锡存 曹国华。单片机原理及接口技术M。陕西西安电子科技大学出版社,2000.73雷丽文 等。微机原理与接口技术M。北京电子工业出版社,1997.24李朝青.单片机原理及接口技术(第3版)。2005。105蔡朝洋.单片机
13、控制实习与专题制作。北京航空航天大学出版社,2006.76楼然苗.单片机课程设计指导。北京航空航天大学出版社,2007。96。 实验程序源代码ORG 0000H LJMP MAIN ORG 0003H LJMP INTT0 ORG 0013H LJMP INTT1 ORG 001BH LJMP TT1 ORG 0100HTT1: MOV TH1,#0D8H ;定时器1,定时10us MOV TL1,0F0H DJNZ R6,EXIT MOV R6,#100 ;定时器定时100次 MOV R1,0FFHEXIT: RETIINTT0:MOV P1,0BEH ;外部中断0, JB P3。4, RE
14、TIINTT1:MOV P1,#0BBH ;外部中断1, JB P3.4,$ RETI ORG 1000HMAIN: MOV R6,#100 ;主程序; MOV R1,00H MOV TMOD,#10H ;初始化 MOV TH1,0D8H MOV TL1,#0F0H MOV IE,8DH MOV 20H,25 MOV 21H,#5 MOV 22H,#15 MOV 23H,30 MOV 24H,20 SETB TR1ST1: MOV P1,0EBH ;第一个状态,主干道亮绿灯、支干道亮红灯; CJNE R1,0FFH,TZ1 MOV R1,00H DEC 20H DEC 23HTZ1: MOV
15、R2,20H MOV R3,23H LCALL DISP ;调用显示子程序。 MOV A,20H CJNE A,00H,ST1 MOV 20H,25ST2: MOV P1,#0EDH ;第二个状态,主干道亮黄灯、支干道亮红灯; CJNE R1,#0FFH,TZ2 MOV R1,00H DEC 21H DEC 23HTZ2: MOV R2,21H MOV R3,23H LCALL DISP ;调用显示子程序。 MOV A,21H CJNE A,#00H,ST2 MOV 21H,05 MOV 23H,#30ST3: MOV P1,0BEH ;第三个状态,主干道亮红灯、支干道亮绿灯; CJNE R1
16、,0FFH,TZ3 MOV R1,00H DEC 24H DEC 22HTZ3: MOV R2,24H MOV R3,22H LCALL DISP ;调用显示子程序。 MOV A,22H CJNE A,00H,ST3 MOV 22H,#15ST4: MOV P1,0DEH ;第四个状态,主干道亮红灯、支干道亮黄灯; CJNE R1,#0FFH,TZ4 MOV R1,00H DEC 24H DEC 21HTZ4: MOV R2,24H MOV R3,21H LCALL DISP ;调用显示子程序。 MOV A,21H CJNE A,#00H,ST4 MOV 21H,#05 MOV 24H,#20
17、 LJMP ST1 ;跳转到第一个状态.DISP: MOV A,R2 ;显示子程序. MOV B,10 DIV AB MOV 60H,A MOV 61H,B MOV A,R3 MOV B,10 DIV AB MOV 62H,A MOV 63H,B MOV 40H,#04H MOV R5,0FEH MOV R0,#60HLLP: MOV A,R0 MOV DPTR,TABLE MOVC A,A+DPTR MOV P0,A MOV A,R5 MOV P2,A LCALL DELAY1 MOV P2, 0FFH; 注意,这里是程序修改的地方,令显示器熄灭,以免产生残影 RL A MOV R5,A INC R0 DJNZ 40H,LLP RETDELAY1: ;延时子程序 MOV R4,12DL2: MOV R7,12 DJNZ R7,$ DJNZ R4,DL2 RETTABLE:DB 3FH,24H,5dH,75H,66H DB 73H,7bH,25H,7fH,77H END
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100