基于51单片机的交通信号灯控制系统设计.docx
《基于51单片机的交通信号灯控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的交通信号灯控制系统设计.docx(19页珍藏版)》请在冰点文库上搜索。
基于51单片机的交通信号灯控制系统设计
石家庄科技信息职业学院
毕业论文
题目:
基于51单片机的交通信号灯控制系统设计
学号:
00000000000
姓名:
XXX
专业班级:
………………………………
指导教师:
………….
完成日期:
………………………..
基于51单片机的交通信号灯控制系统设计
摘要:
通过总体设计交通灯原理接线图,综合应用单片机原理、微机原理、微机接口技术等方面的知识,结合单片机仿真系统的使用方法,通过软硬件结合,使用89C52单片机来设计出符合要求的交通灯控制系统。
完成由单片机89C52、发光二极管、 LED数字显示器、开关、部分电阻及电容组成的交通灯控制系统。
系统除基本交通灯功能外,还具有倒计时、显示时间设置、紧急情况处理、LED信息显示、时间可以根据具体情况手动控制等功能。
从而提高交通灯控制系统的总体能力和综合应用能力。
关键词:
单片机交通灯闯红灯LED
TrafficSignalLampControlSystemDesign
Abstract:
Oursingle-chipdesignprincipleaccordingtothetrafficlightsandrequirements,throughtheoveralldesignprinciplesoftrafficlights,wiringdiagram,integratedapplicationmicrocontrollertheory,computertheory,computerinterfacetechnology,knowledge,combinedwithmicrocontrollerusethesimulationsystembycombiningsoftwareandhardware,using89C52microcontrollertodesigntomeettherequirementsofthetrafficlightcontrolsystem.CompletedbytheMCU89C52,light-emittingdiode,LEDdigitaldisplay,switches,resistorsandcapacitorscomposedofsomeofthetrafficlightcontrolsystem.Inadditiontobasictrafficlightsystemfunctions,butalsohasacountdowntoshowtimesetting,emergencyhandling,LEDinformationdisplay,time,manualcontrolaccordingtothespecificcircumstancesandotherfunctions.Andthuscanimprovethemachine'soverallcapabilitiesandintegratedapplicationability.
Keywords:
SCMTrafficlightsRedlightLED
一、单片机介绍及主控电路…………………………………………1
(一)单片机的发展及元器件介绍………………………………1
(二)管脚说明……………………………………………………2
(三)系统模拟下交通情况………………………………………3
(四)设计思路……………………………………………………4
(五)硬件设计……………………………………………………5
二、电源电路…………………………………………………………8
(一)主要元器件介绍……………………………………………8
(二)电源电路工作原理…………………………………………9
三、软件设计过程……………………………………………………9
(一)软件流程图…………………………………………………9
(二)软件………………………………………………………10
四、系统可改进的地方………………………………………………11
(一)系统可加装热能探测器……………………………………11
(二)统应装置红外线接收器……………………………………11
五、结束语……………………………………………………………11
引言
随着我国经济的高速发展,人们对私家车、公交车的需求越来越大。
相应地,我国进入WTO以后,我国经济贸易与世界接轨,汽车业关税大大降低,使很多人都能负担得起,买私家车不再是梦想。
但是,私家车、公交车的大增无疑会对我国交通系统带来沉重的压力。
放眼现在的中国,如广州、香港、上海等大都市,无不受到交通堵塞的困扰。
中国要发展,交通事业决不能停步不前。
有及于此,我国交通管制系统应当以人性化、智能化为目的,作出相应的改善。
本论文正是以此为出发点,对单片机控制的交通信号灯模型作了较详尽的介绍。
单片机无线收发控制的交通信号灯模型可以分为电源电路、单片机主控电路、无线收发控制电路和显示电路四部分组成。
由于显示部分都是采用三色LED和数码管模拟,比较简单,所以在此不作详尽叙述。
下面主要叙述单片机主控电路、直流电源的组成及其原理。
一、单片机介绍及主控电路
1、单片机的发展及元器件介绍
1-1单片机的发展
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机的发展分为4个阶段:
第一阶段(1974—76年):
单片机初级阶段。
因为受工艺限制,单片机采用单片的形式而且功能比较简单。
例如美国仙童公司生产的F8单片机,实际上只包括了8位CPU,64个字节的RAM和2个并行接口
第二阶段(1976—78年):
低性能单片机阶段。
以Intel公司生产的MCS——48系列单片机为代表,该系列单片机片内集成有8位CPU,8位定时器/计数器,并行I/O接口,RAM和ROM等,但是最大的缺点就是无串行接口,中断处理比较简单而且片内RAM和ROM容量较小,且寻址范围不大与4KB。
第三阶段(1978—83)高性能单片阶段这个阶段推出的单片机普遍带有串行接口。
多级中断系统,16位定时器/计数器,片内ROM,RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器。
第四阶段(1983年至今)8位单片机巩固发展以及16位单片机,32位单片机推出阶段。
此阶段的主要特征是:
一方面发展16位单片机,32位单片机及专用型单片机;另一方面不断完善高档8位单片机,改善其结构,增加片内器件,以满足不同的客户要求。
1-2单片机概述
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
1-3元器件介绍
AT89C51单片机内部结构
AT89C51是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
·中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(RAM)
AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
·程序存储器(ROM):
AT89C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
·定时/计数器(ROM):
AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
·并行输入输出(I/O)口:
AT89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
·全双工串行口:
AT89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
·中断系统:
AT89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
·时钟电路:
AT89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但AT89C51单片机需外置振荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。
INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。
MCS-51系列单片机的内部结构示意如图1:
图1单片机内部结构
单片机主控电路的主要元件是AT89C51,其外型如图2:
图289C51结构图
AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。
AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
2、管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
ST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3、系统模拟以下交通情况
(1)正常情况下,A、B道(A、B道交叉组成十字路口,A是主道,B是支道)轮流放行,A道放行60秒(两个数码管从60秒开始倒数,其中5秒用于警告),B道放行30秒(两个数码管从30秒开始倒数,其中5秒用于警告)。
(2)一道有车而另一道无车(用按键开关S1、S2模拟)时,使有车车道放行。
(3)有紧急车辆通过(用按键开关S0模拟)时,A、B道均为红灯(两个数码管显示00)。
4、设计思路
(1)正常情况下运行主程序,采用0.5秒延时子程序的反复调用来实现各种定时时间;
(2)一道有车而另一道无车时,采用外部中断1方式进入与其相适应的中断服务程序,并设置该中断为低优先级中断;
(3)有紧急车辆通过时,采用外部中断0方式进入与其相适应的中断服务程序,并设置该中断为高优先级中断,实现中断嵌套。
5、硬件设计
系统硬件结构如图3和图4所示:
图3硬件结构图
图4硬件结构图
用数码管模拟交通灯上的数字显示板。
数码管的七段由AT89C51的P0(P0.0-P0.6)口控制,两个数码管由P2(P2.0-P2.1)口选通,中间由PNP三极管作为推动管。
分别以S1、S2模拟A、B道的车检测信号,当S1、S2为高电平(不按按键)时,表示有车;当S1、S2为低电平(按下按键)时,表示无车。
当S1、S2属不同值时,表示一道有车一道无车,信号经74LS04,74LS86后,输入到P3.3口,触发外部中断1,AT89C51单片机经查询后,对有车的车道放行,绿灯亮;对无车的车道禁止放行,红灯亮。
当S0为低电平(按下按键)时,触发外部中断0,单片机经查询后,对两车道都禁止放行,全显示红灯,数码管显示00,对紧急车辆放行。
二、电源电路
从硬件结构图可知,无论是AT89C51单片机工作电源、二极管还是数码管的驱动,都要用到+5V的直流电源,所以,一个稳定的、持续的+5V直流电源对本系统十分重要。
本系统运用桥式整流电路,将交流转换为直流,为各部分电路提供恒定的+5V直流。
模拟部分和数字部分分别采用一个独立的稳压管供电,保证电路的稳定性和抗干扰,其电路如图5。
图5稳压供电电路
1、电源的主要器件介绍
DB为全波整流电桥,其内部结构如图6
其工作原理如下:
电桥1、3端接交流电源,2、4为支直流输出端。
当某一时刻,交瞬时值为上+下-(即1端为+,3端为-),电流从1端输入,经1、2间的二极管到2端,再经2、4端的负载流到4端,然后经3、4间的二极管流
图6全波整流电路
回
交流负端;同理,电流从3端流入,从1端流回交流负端。
2、电源电路工作原理
从接口J1输入的9V左右的交流电压(波形如图7所示),经全波整流电桥DB整流后,得到一幅值为0-8V左右的波动直流(如图8所示)。
这一波动的直流经C1、C2、C3滤波后,得到一较平稳的直流,再经LM7805稳压为+5V,C4再次滤波后,得到稳定的+5V直流电流(如图9所示),为系统无线电接收发模块和解码芯片PT2272路供电。
Q1为继电器驱动管,当其基极接收到解码芯片的高电平时,继电器吸合,K1接通,电压经7805稳压后为AT89C51开机供电。
三、软件设计过程:
主程序采用查询方式定时,由R2寄存器确定调用0.5S延时子程序的次数,从而获取交通灯的各种时间。
子程序采用定时器1方式1,查询式定时,定时器定时50ms,R3寄存器确定循环10次,从而获取0.5S的延时时间。
一道有车而另一道无车的中断服务程序首先要保护现场,因而需用到延时子程序和P1口,,故需保护的寄存器有R3、P1、TH1和TL1。
保护现场时还需关中断,以防止高优先级中断(紧急车辆通过所产生的中断)出现时导致程序混乱。
然后,关中断,恢复现场,再开中断,返回主程序。
紧急车辆出现是的中断服务程序也需要保护现场,但无需关中断(因其为高优先级中断),然后执行相应的服务,待交通灯信号出现后延时20S,确保紧急车辆通过交叉路口。
然后,恢复现场,返回主程序。
交通信号灯模拟控制系统主程序及中断服务程序的流程图如图7所示。
图7软件流程图
交通信号灯的软件设计参考如下:
ORG0000H
LJMPSTART;指向主程序
;主程序
ORG0030H
START:
MOVP1#00H
SETBP1.2;亮东西向绿灯,东西向放行
SETBP1.3;亮南北向红灯,南北向禁止通行
MOVR4#96H;延时75S
LP1LCALLDL
DJNZR4,LP1
CLRP1.2;熄灭东西向绿灯
SETBP1.1;点亮东西向黄灯
MOVR4,#10H;延时5S
LP2LCALLDL
DJNZR4,LP2A
MOVP1,#00H
SETBP1.0;东西向红灯亮,禁止东西向通行
SETBP1.5;亮南北向绿灯,南北向放行
MOVR4,#64H ;延时55S
LP3LCALLDL
DJNZR4,LP3
CLRP1.5;熄灭南北向绿灯
SETBP1.4;点亮南北向黄灯
MOVR4,#10H;延时5S
LP4LCALLDL
DJNZR4,LP4
MOVP1#00H
LJMPSTART;重新开始下一个周期
DLMOVR7,#05H;0.5S软件延时子程序
DL1:
MOVR6,#0C8H
DL2:
MOVR5,#0FAH
DJNZR5,$
DJNZR6,DL2
DJNZR7,DL1
RET
END
四、系统可改进的地方
1、系统可加装热能探测器,探测出车辆内燃机运转辐射出的热量,从而能使单片机判断出哪条道有车,哪条道无车,能对路面交通状况作出迅速反应,从而提高交通效率;
2、系统应装置红外线接收器,相应地,紧急车辆(如消防车、救护车等)上应当装置红外线放射器。
这样,在离交通信号灯远处,紧急车辆就可以开红外线放射器使交通信号灯全部显示红灯,避免因交通问题导致不必要的人命伤亡和金钱损失;
3、系统可装置一点阵式LED中文显示屏,用以显示温度、天气情况、空气指数等,方便司机对外界情况的了解。
多加了这些功能后,无疑会使成本增加,但是这样确实可以提高交通效率,疏通交通堵塞和避免不必要的损失。
五、结束语
如果我国交通管理好了,不但给各国旅客留下美好的回忆,而且间接提高了中国的国际竞争力,提高我国的国际地位。
本系统就是充分利用了8051芯片的I/O引脚。
系统统采用MSC-51系列单片机Intel8051和可编程并行I/O接口芯片为中心器件来设计交通灯控制器,实现了能根据实际车流量通过芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。
系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。
这是由于本身地理位子以及车流量情况所定,如果有需要可以设计扩充原系统来实现。
通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
致谢
经过近段时间的忙碌和工作,本次毕业设计已经接近尾声,作为一个专科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的,在这里首先要感谢我的导师郭老师,郭老师平日里工作繁多,但在我做毕业设计的每个阶段,从外出实习到查阅资料,设计草案的确定和修改,中期检查,后期详细设计,到设计图等整个过程中都给予了我悉心的指导,除了敬佩郭老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作,本论文的顺利完成,离不开各位老师,同学和朋友的关心和帮助,在此感谢郭老师的指导和帮助;在2年的学习期间,得到张鹏,甄少波等同学关心和帮助,在此表示深深的感谢,同时还要感谢大学的老师,为我们打下了坚固的专业知识基础;感谢所有的同学们,如果没有你们的热心帮助,此次设计的完成将变得非常困难,也正是因为有了你们的支持和鼓励,此次毕业设计才会顺利完成,最后感谢工学院对我的大力栽培。
参考文献
[1]张毅坤.单片微型计算机原理及应用,西安电子科技大学出版社1998
[2]余锡存曹国华.单片机原理及接口技术[M].陕西:
西安电子科技大学出版社,2000