基于单片机的交通灯控制系统附源代码及原理图.docx
《基于单片机的交通灯控制系统附源代码及原理图.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制系统附源代码及原理图.docx(42页珍藏版)》请在冰豆网上搜索。
基于单片机的交通灯控制系统附源代码及原理图
山东技师学院
题目:
基于单片机的交通灯控制
教学单位_________
姓名________
学号_______
年级____
专业机电一体化____
指导教师______________
职称____________
摘要
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?
靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机Intel8051和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;为了系统稳定可靠采用了MAX629“看门狗”芯片,避免了系统因为死机而停止工作的情况发生;显示时间直接通过8255的PA、PB口输出;交通灯信号通过PC口输出;交通灯的点亮采用VT双向晶闸管来控制,直接采用220V交流电源驱动,系统实用性强、操作简单、扩展性强。
关键词:
单片机,交通灯,控制器,设计,实现
Abstract
Crossroadsvehiclewearcomb,pedestrianXiRang,turntobeallrightlane,personpedestriansays,methodically。
Doyouleanwhattorealizethisorderlyorder?
Whatleanisthattheautomaticcommandsystemoftrafficsignallamp。
Trafficsignallampcontrolwayismany。
ThissystemadoptsMSC-51seriesonlyflatmachineIntel8051withbutprogrammingparallelinterfacechip8255AofI/Oiscentraldevicethedesigncontrolleroftrafficlights,haverealizedcanmeasureaccordingtoactualwagonflowtheP1installationbonusandgreenlightthatpassesthrough8051chipsburntolightthefunctionoftime;ForsystemstabilizereliablehaveadoptedMAX629thechip"doglooksafterthehouse",haveavoidedthatsystemstopsworkingconditionbecauseofhaltingtooccur;ShowthattimeisdirectlyexportedthroughPBandPAof8255;ThesignaloftrafficlightsisexportedthroughusuallyPCmouth;ThepointoftrafficlightslighttoadoptVTtwo-wayJingofloodgatepipecometocontrol,directlydrivewiththealternatingcurrentsourceof220V,practicalityisstrong,operatingissimple。
Keywords:
Onlyflatmachine,TrafficLights,Controller,Design,Realize
前言
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
一交通灯发展概述
在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两色以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
1914年,电气启动的红绿灯出现在美国。
这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
二课题的背景及意义
随着城市机动车量的不断增加,许多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。
然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。
而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。
人们的消费水平不断的提高,私人车辆不断的增加。
人多、车多道路少的道路交通状况已经很明显了。
我国是13亿多人口的大国,到2004年,全国的机动车保有量超过了6000万,而全国公路通车总里程只有14。
3万公里。
静态比例为:
人均车辆越0。
5辆,而人均道路只有0。
00011公里;每辆车均道路占有量约为0。
002公里;且其中90%的道路属于机动车与非机动车和行人混杂。
车辆的增加反映出了国家的整体进步,但是也给人民带来了其他的一些负面的影响。
今后几年机动车辆数字还在急剧增加,道路超负荷承载,致使交通事故逐年增加。
在一个交通十字路口,如果还是像以前一样由单纯的一种信号灯和交通警察的协调来维持交通是不够的。
根据统计每年因交通事故死亡的人数占所有事故死亡总人数的80%,而且这个比例还在不断的增加。
如果将每个交通十字路口的多余交通警察撤回,安排在最不利于管理和事故高发的地方,不但可以大大的降低交通事故的发生率,而且可以节省大量的人力财力。
基于新型规则的可编程交通控制系统(以下简称交通控制系统)可以实现对车辆、行人的控制,使的交通便于管理。
所以,采用单片机自动控制交通灯有现实的社会意义。
三课题的任务及要实现的主要功能
本系统由单片机系统、键盘、LED显示、交通灯显示系统组成。
系统包括人行道、左传、右转、以及基本的交通灯的功能。
系统除基本的交通灯功能外,还具有倒计时,时间设置,紧急情况处理、及根据具体情况手动控制等功能。
在紧急情况下,设置交通灯状态为全红东西南北方向禁止通行。
本设计采用一主干道(南北方向),一从干道(东西方向)的路口。
白天(A挡)为60(主)-45(支)——5(闪烁)秒,夜晚(B挡)为40(主)—10(支)—5(闪烁)秒。
第一章交通灯的总体方案设计与论证
根据课题任务的要求,该系统具有交通灯的显示功能,倒计时功能,改变时间设定功能,所以把系统分为几个模块,包括倒计时显示器、键盘、交通信号灯、控制模块和看门狗电路。
系统硬件框图如下
图1.1系统硬件连接框图
1.1单片机与外围接口部件
该系统主控芯片单片机采用MCS-8051,它内部具有128个8位用户数据存储单元和128个专用寄存器单元,两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向,可以满足该控制系统的设计要求。
锁存器选用74LS373,用于单片机输出地址信号锁存。
Intel8255是一个为微机系统设计的通用并行接口电路,可适用于多种微处理器的通用8位并行输入/输出接口芯片,在该系统中用于控制芯片I/O口的扩展。
1.2电源提供
为使模块稳定工作,须有可靠电源。
我们考虑了两种电源方案
方案一:
采用独立的稳压电源。
此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:
采用单片机控制模块提供电源。
改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。
方案三:
采用220V交流电源与稳压电源块给系统提供电源,这样既可以有高的输出功率,达到题目所给的要求。
综上所述,我们选择第三种方案。
1.3倒计时显示界面
该系统要求完成倒计时、状态灯等功能。
基于上述原因,我们考虑了三种方案:
方案一:
完全采用数码管显示。
这种方案只显示有限的符号和数码字苻,无法胜任题目要求。
方案二:
完全采用点阵式LED显示。
这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:
采用数码管与点阵LED相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。
1.4输入键盘
键盘在系统作用手动设灯亮时间、紧急情况处理。
按键按照结构原理可分为两类:
一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点开关按键,如电气式按键,磁感应按键等。
前者造价低,后者寿命长。
目前,微机系统中最常见的是触点式开关按键。
按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。
编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。
全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。
非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。
由于其经济实用,较多地应用于单片机系统中。
独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。
独立式按键的典型应用如图1.2所示:
独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。
图中按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平。
当I/O口线内部有上拉电阻时,外电路可不接上拉电阻。
不过,在设计键盘的时候,因为采用的是机械式按键,要考虑键盘去抖问题。
按恢复键对上两者进行恢复到正常状态。
键盘的按键由机械触点构成的。
当开关K未被按下时,P1口输入为低电平,K闭合后,与之对应的P1口输入为高电平。
由于按键是机械触点,当机械触点断开、闭合时,会有抖动,P1口输入端的波形会有尖锋脉冲出现。
如图1.3所示。
图1.3按键触点的机械抖动
为了使CPU能正确地读出P1口的状态,对每一次按键只作一次回应,就必须考虑如何去除抖动,常用的去抖动的方法有两种:
硬体方法和软体方法。
单片机中常用软体法,因此,对于硬体方法这里不采用。
软体方法是在单片机获得P1。
0口为高的信息后,不是立即认定键盘K已被按下,而是延时10毫秒或更长一些时间后再次检测P1键盘接口,如果仍为高,说明K的确按下了,这实际上是避开了按键按下时的抖动时间。
而在检测到按键释放后(P1。
0为低)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。
不过一般情况下,我们通常不对按键释放的后沿进行处理,实践证明,也能满足一定的要求。
当然,实际应用中,对按键的要求也是千差万别,要根据不同的需要来编制处理程序,以上是消除键抖动的原则。
具体消抖见软件设计。
键盘采用独立式键盘,单片机的I/O口数可以满足该键盘,并且可以完成题目中的所要求的设定时间、紧急情况控制功能。
1.5交通灯显示
采用信号灯拼成箭头状作为人行提示/左右转提示,清晰明了。
VT为双向晶闸管,当门极为高电平时晶闸管导通,该支路指示灯亮;当门极为低电平时晶闸管关断,该支路指示灯灭。
用220交流电驱动交通灯,这样就满足了在阳光下或者在雾天也可以看清楚交通灯信号。
1.6系统稳定运行保障系统
由于单片机自身的抗干扰能力比较差,尤其在一些条件比较恶劣、噪声大的场合,常会出现单片机因为受外界干扰而导致死机的现象,造成系统不能正常工作,为了使该系统在噪声大的路口可以比较稳定的运行,在系统中设计了看门狗电路,用以保证系统在受到外界干扰死机或者不能正常工作时,可以自动重置。
本系统采用专用芯片MAX692作为外部看门狗电路。
1.7理论分析与计算
1.交通灯显示时序的理论分析与计算
对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流为车流量,用公式:
车流量=车流/时间来表示。
图2-1所示为一种红绿灯规则的状态图,分别设定为S1、S2、S3、S4,交通灯以这四的状态为一个周期,循环执行(见图2-2)。
请注意图2-1b和图2-1d,它们在一个时间段中四个方向都可以通车,这种状态能在一定的时间内达到较大的车流量,效率特别高。
依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于相向的灯的状态图是一样的,所以只需写出相邻路口的灯的逻辑表;根据图2-3可以看出,相邻路口的灯它们的状态在相位上相差180°。
因此最终只需写出一组S1、S2、S3、S4的逻辑状态表。
如表2-1所示。
表中的“×”代表是红灯亮(也代表逻辑上的0),“√”是代表绿灯亮(也代表逻辑上的1),依上表,就可以向相应的端口送逻辑值。
2.交通灯显示时间的理论分析与计算
东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且S1、S2、S3、S4各个状态保持的时间之有严格的对应关系,其公式如下所示:
T-S1+T-S2=T-S3
T-S2=T-S4
T-S1=T-S3
我们可以依据上述的标准来改变车辆的放行时间。
按照一般的规则,一个十字路口可分为主干道和次干道,主干道的放行时间大于次干道的放行时间,我们设定值时也应以此为参考。
3、电路图及设计文件
(1)灯控制电路设计
由于32个LED来实现红绿灯状态,若直接接在单片机的口线,路口倒计时的显示就不能实现,所以本次设计中采用一种新型的电路如图3-1所示。
图中74LS04的作用是倒相和驱动,它输出的电流大约48mA,实际测试发现足以满足要求,而且发光管也能达到足够的亮度。
观察图可以看出:
两组发光管(一组红、一组绿)由于反相器的作用,其逻辑状态恰恰相反。
图中和电阻串联的二极管的作用是为了分压,防止因上下两组发光管分压不同导致逻辑的错误。
共四组和上述相同的电路分别代表东西南北四个方向的红绿灯,使用两片74LS04作为驱动。
(2)倒计时显示电路设计
前面已经分析过相向的灯的状态和倒计时都是相同的,所以为了节省,采用两组四个数码管作为倒计时的显示;同时为了节省口资源,采用串口显示的方式驱动数码管。
见图3-2所示。
第二章硬件的选择与简介
2.1单片机的简介
2.1.1单片机的三大阶段
单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。
“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。
在开创嵌入式系统独立发展道路上,Intel公司功不可没。
2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:
不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。
它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。
从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。
在发展MCU方面,最著名的厂家当数Philips公司。
Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。
因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。
随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。
因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
单片机作为微型计算机的一个重要分支,应用面很广,发展很快。
自单片机诞生至今,已发展为上百种系列的近千个机种。
2.1.2以8位单片机为起点的发展阶段
如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段:
(1)第一阶段(1976-1978):
单片机的控索阶段。
以Intel公司的MCS – 48为代表。
MCS – 48的推出是在工控领域的控索,参与这一控索的公司还有Motorola 、Zilog等,都取得了满意的效果。
这就是SCM的诞生年代,“单机片”一词即由此而来。
(2)第二阶段(1978-1982)单片机的完善阶段。
Intel公司在MCS – 48 基础上推出了完善的、典型的单片机系列MCS –51。
它在以下几个方面奠定了典型的通用总线型单片机体系结构。
①完善的外部总线。
MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口。
②CPU外围功能单元的集中管理模式。
③体现工控特性的位地址空间及位操作方式。
④指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。
(3)第三阶段(1982-1990):
8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。
Intel公司推出的MCS – 96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。
随着MCS – 51系列的广应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。
(4)第四阶段(1990—):
微控制器的全面发展阶段。
随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。
2.1.3 单片机的发展趋势
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
下面是单片机的主要发展趋势。
CMOS化 近年,由于CHMOS技术的进小,大大地促进了单片机的CMOS化。
CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。
这也是今后以80C51取代8051为标准MCU芯片的原因。
因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。
CMOS电路的特点是低功耗、高密度、低速度、低价格。
采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。
随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)和CHMOS工艺。
CHMOS和HMOS工艺的结合。
目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已在于TTL电路。
因而,在单片机领域CMOS正在逐渐取代TTL电路。
低功耗化 单片机的功耗已从Ma级,甚至1uA以下;使用电压在3~6V之间,完全适应电池工作。
低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。
低电压化 几乎所有的单片机都有WAIT、STOP等省电运行方式。
允许使用的电压范围越来越宽,一般在3~6V范围内工作。
低电压供电的单片机电源下限已可达1~2V。
目前0.8V供电的单片机已经问世。
低噪声与高可靠性 为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。
大容量化 以往单片机内的ROM为1KB~4KB,RAM为64~128B。
但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。
为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。
目前,单片机内ROM最大可达64KB,RAM最大为2KB。
高性能化 主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。
采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度。
现指令速度最高者已达100MIPS(Million Instruction Per Seconds,即兆指令每秒),并加强了位处理功能、中断和定时控制功能。
这类单片机的运算速度比标准的单片机高出10倍以上。
由于这类单片机有极高的指令速度,就可以用软件模拟其I/O功能,由此引入了虚拟外设的新概念。
小容量、低价格化 与上述相反,以4位、8位机为中心的小容量、低价格化也是发展动向之一。
这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。
外围电路内装化 这也是单片机发展的主要方向。
随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内。
除了一般必须具有的CPU、ROM、RAM、定时器/计数器等以外,片内集成的部件还有模/数转换器、DMA控制器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。
串行扩展技术 在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。
随着低价位OTP(One Time Programble)及各种类型片内程序存储器