基于单片机的交通灯控制系统设计毕业.docx
《基于单片机的交通灯控制系统设计毕业.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制系统设计毕业.docx(15页珍藏版)》请在冰豆网上搜索。
基于单片机的交通灯控制系统设计毕业
毕业论文
题目基于单片机的交通灯控制系统设计
姓名****学号
所在系专业年级
指导教师职称
二O一四年五月三十一日
摘要
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?
靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制嚣,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮。
倒计时剩5秒时黄灯闪烁警示;车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。
本系统实用性强、操作简单、扩展功能强。
关键词:
单片机;交通灯
Abstract
Inrecentyears,withtherapiddevelopmentofscienceandtechnology,SCMapplicationsareconstantlygo,atthesametimedrivethetraditionalcontroldetectionnissinmonthgoodupdates.Crossroadstransports,bustling,bikelanes,pedestrianfootbridgehumanitarian,inanorderlyway.Sowhattodothisinorder?
Relyonistheautomaticcommandsystemoftrafficlights.Alotoftrafficsignallampcontrolway.ThissystemadoptstheMSC-51seriesmicrocontrollerATSC51andprogrammableparallelI/Ointerfacechip8255atao,adeviceforthecentertodesignatrafficlightcontrolcanrealizetheaccordingtoactualtrafficby8051chipP1mouthsetfunctionofredandgreenlightburningtime;Lighttrafficlightcycle.Thecountdownwith5secondsleftyellowlightsflashingwarning;Vehiclerunningaredlightalarm;Greentimecandetectthenumberofcarsandcanthroughdigitaltubedisplay.Thesystempractical,simpleoperation,strongextendedfunctionality.
Keywords:
singlechipmicrocomputer;Thetrafficlight
前言
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手
段。
但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
186年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
第一章单片机的简介
1.1单片机的概述
单片机技术的发展对社会进步产生了巨大的影响。
今天,单片机及其应用技术的发展速度、深度及其广度,在国防、科学研究、政治经济、教育文化等方面几乎无所不及。
将之用于交通灯控制系统设计,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
一台能够工作的计算机要有这样几个部份构成:
CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入,输出设备(例如:
串行口、并行输出口等)。
在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。
而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就际=缸单片(单芯片)机,单片机即微控制器有一些单片机中除了上述部份外,还集成了其它部份如AID,DIA,定时计数器,RTC,各种串行接口等。
1.2单片机的发展
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和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.3单片机的特点
(1)高集成度,体积小,高可靠性
单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。
芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。
单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。
(2)控制功能强
为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:
分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。
(3)低电压,低功耗,便于生产便携式产品
为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。
(4)易扩展
片内具有计算机正常运行所必需的部件。
芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。
(5)优异的性能价格比
单片机的性能极高。
为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。
单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。
由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。
、
第二章单片机交通灯
2.1单片机交通灯发展前景
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?
靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。
本系统实用性强、操作简单、扩展功能。
2.2单片机交通灯的应用
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
第三章MSC-51芯片简介
3.1MSC-51结构
8051是MCS-51系列单片机的典型产品,8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时,计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
中央处理器是单片机内部的核心部件,它决定了单片机的主要功能特性。
中央处理器主要由运算部件和控制部件组成。
运算部件包括算术、逻辑部件ALU、布尔处理器、累加器ACC、寄存器B、暂存器TMP1和TMP2、程序状态字寄存器PSW以及十进制调整电路等。
运算部件的功能是实现数据的算术逻辑运算、位变址处理和数据传送操作。
控制部件是单片机的神经中枢,它包括时钟电路、复位电路、指令寄存器、译码以及信息传送控制部件。
它以主振频率为基准发出CPU的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的微操作,用来控制单片机各部分的运行。
其中有一些控制信号线能简化应用系统外围控制逻辑,如控制地址锁存的地址锁存信号ALE,控制片外程序存储器运行的片内外存储器选择信号EA,以及片外取指信号PSEN。
3.28255芯片简介
8255可编程并行接口芯片有三个输入输出端口,即A口、B口和c口,对应于引脚PAT—PA0、PB7-PB0和PC7-PC0。
其内部还有一个控制寄存器,即控制口。
通常A口、B口作为输入输出的数据端口。
c口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。
它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。
8255有两种控制命令字;一个是方式选择控制字;另一个是c口按位置位/复位控制字。
3.374LS373简介
SL74HC573跟LS/AL573的管脚一样。
器件的锁存器输入是和标准CMOS(如图一所示)输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。
当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。
当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
×\u36755X出能直接接到CMOS,NMOS和TTL接口上
×\u25805X作电压范围:
2.0V~6.0V
×\u20302X输入电流:
1.0uA
×CMOS器件的高噪声抵抗特性
SN74LS373,SN74LS374常用的8d锁存器。
常用作地址锁存和I/0输出,可以用74he373代换,74H373是高速CMOS器件,功能与74LS373相同,两者可以互换。
74LS373内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚c或EN;1脚OUT、CONT、OE)控制。
当OE接地时,若G为高电平,741Ls373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。
图一高性能硅门CMOS器件
第四章系统硬件
4.1交通管理的方案论证
东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。
红灯亮禁止通行。
绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯亮时间为东西、南北两道的公共停车时间。
设东西道方向为主干道南北方向为从干道,四个路口安装红,黄,绿灯各一盏。
指示灯亮的方案如下:
50S10S40S10S......
东西道红灯亮黄灯亮绿灯亮黄灯亮......
南北道绿灯亮黄灯亮红灯亮黄灯亮......
根据指示灯燃亮的方案,对其做个详细的说明:
(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。
时间为50秒。
(2)黄灯闪烁10秒,警示车辆和行人红、绿灯的状态即将切换。
(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,
行人通行。
时间为40秒。
东西方向车流大通行时间长。
(4)这样如上方案的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
(5)此表可根据车流量动态设定红绿灯初始值。
4.2系统硬件设计
选用设备8031单片机选用设备:
8031弹片机一片,8255并行通用接口芯片一片,74LS07两片,MAX692一片,共阴极的七段数码管两个双向晶闸管若干,7805三端稳压电源一个,红、黄、绿交通灯各两个。
开关键盘、连线若干。
在设计中利用软件程序延时的方法来控制红(绿)的亮的时间。
考虑延时时间较长所以先用T0产生终端然后通过计数的方法来实现延时。
利用P1口的P1.1、P1.2、P1.3
作为红绿灯控制端口。
南北向的绿灯连在一块,东西向的红灯连在一块,他们一块与P1.1相连。
同样南北向的红灯连在一块,东西向的绿灯连在一块,他们一块与P1.2相连,四个黄灯连在一块与P1.3相连。
4.3系统总框图如下
4.4系统工作原理
(1)开关键盘输入交通灯初始时间,通过8051单片机P1输入到系统
(2)由8051单片机的定时器每秒钟通过P0口向8255的数据口送信息,由8255的PA口显示红、绿、黄灯的燃亮情况;由8255的PC口显示每个灯的燃亮时间。
(3)通过AT89C51单片机的P3.0位来控制系统是工作或设置初值,当.牌位0就对系统进行初始化,为1系统就开始工作。
(4)红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S后然后恢复正常。
(5)增加每次绿灯时间车流量检测的功能,并且通过查询P2.0端口的电平是否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新记入。
(6)绿灯时间倒计时完毕,重新循环。
4.5硬件延时
4.5.1初值计算
定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。
他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。
因此,我们可以把计数器记满为零所需的计数值设定为c和计数初值设定为TC。
4.5.2秒的方法
在主程序中设定一个初值为20的软件计数器和使TO定时5O毫秒,这样每当TO到50毫秒时cPu就响应它的溢出中断请求,进入他的中断服务子程序。
在中断服务子程序中,cPu先使软件计数器减1,然后判断它是否为零。
为零表示1秒已到可以返回到输出时间显示程序。
4.6交通硬件线路图
第五章控制器的软件设计
5.1软件延时
MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为6MHZ。
机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。
我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。
其流程图如下图所示:
5.2时间及信号灯的显示
5.2.18051并行口的扩展
8051虽然有4个8位I/0端口,但真正能提供借用的只有Pl口。
因为P2和P0口通常用于传送外部传送地址和数据,P3口也有它的第二功能。
因此,8031通常需要扩展。
由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、红绿黄信号灯的显示都要用到一个I/0端口,显然8031的端口是不够,需要扩展。
扩展的方法有两种:
(1)借用外部RAM地址来扩展I/0端口;
(2)采用I/0接口新片来扩充。
我们用8255并行接口信片来扩展I/0端口。
5.2.28255与8051的连接
用8051的PO口的pO.7连接8255的片选信号,我们用8031的地址采用全译码方式,当pO.7:
0时片选有效,其他无效,pO.1用于选择8255端口。
5.3交通灯的流程图如图所示
5.4交通灯的软件设计如下
org0000h
ajmpmain;指向主程序
org0003h
ajmpintt0;指向紧急车辆出现中断程序
org0013h
ajmpintt1;指向一道有车而另一道无车中断程序
org0100h
main:
setbpx0;置外部中断0为高优先级中断
movtcon,#00h;置外部中断0,1为电平触发
movtmod,#10h;置定时器1为方式1
movie,#85h;开CPU中断,开外部中断0,1中断
disp:
movp1,#0f3h;A绿灯放行,B红灯禁止
movr2,#6eh;置0.5s循环次数
disp1:
acalldelay;调用0.5s延时子程序
djnzr2,disp1;55s不到继续循环
movp1,#0f5h;A黄灯警告,B红灯禁止
movr2,#0Ah;黄灯亮5s
yel1:
acalldelay
djnzr2,yel1;2s未到继续循环
movp1,#0deh;A红灯亮,B绿灯亮
movr2,#6Eh
disp2:
acalldelay
djnzr2,disp2;25s未到继续循环
movp1,#0eeh;A红灯亮,B黄灯亮
movr2,#0Ah
yel2:
acalldelay
djnzr2,yel2
ajmpdisp;循环执行主程序
intt0:
pushp1;P1口数据压栈保护
push03h;R3寄存器压栈保护
pushth1;TH1压栈保护
pushtl1;TL1压栈保护
movp1,#0f6h;A,B道均为红灯
movr5,#28h;置0.5s循环初值
delay0:
acalldelay
djnzr5,delay0;20s未到继续循环
poptl1;弹栈恢复现场
popth1
pop03h
popp1
reti;返回主程序
intt1:
clrea;关中断
pushp1;压栈保护现场
push03h
pushth1
pushtl1
setbea;开中断
jnbp3.0,bp;A道无车转向
movp1,#0f3h;A绿灯,B红灯
sjmpdelay1;转向5s延时子程序
bp:
jnbp3.1,exit;B道无车退出中断
movp1,#0deh;A红灯,B绿灯
delay1:
movr6,#0ah;置0.5s循环初值
next:
acalldelay
djnzr6,next;5s未到继续循环
exit:
clrea
poptl1;弹栈恢复现场
popth1
pop03h
popp1
setbea
reti
delay:
movr3,#0ah
movth1,#3ch
movtl1,#0b0h
setbtr1
lp1:
jbctf1,lp2
sjmplp1
lp2:
movth1,#3ch
movtl1,#0b0h
djnzr3,lp1
ret
end
第六章结论
本系统就是充分利用了8051和8255芯片的I/O引脚。
系统统采用MSC-51系列单片机Intel8051和可编程并行I/0接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8031芯片的Pl口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。
通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
第七章致谢
本论文设计得到**老师的大力指导,提出来许多宝贵的意见,谨此表示衷心的感谢!
初次拿到任务书是我们感到束手无策,多亏老师们耐心细致的讲