单片机自动控制交通灯及时间显示资料完整文档.docx
- 文档编号:25898137
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:103
- 大小:1.18MB
单片机自动控制交通灯及时间显示资料完整文档.docx
《单片机自动控制交通灯及时间显示资料完整文档.docx》由会员分享,可在线阅读,更多相关《单片机自动控制交通灯及时间显示资料完整文档.docx(103页珍藏版)》请在冰豆网上搜索。
单片机自动控制交通灯及时间显示资料完整文档
单片机自动控制交通灯及时间显示资料完整文档
(可以直接使用,可编辑完整文档,欢迎下载)
摘要
根据8051单片机的特点及交通灯在实际控制中的特点,本文提出一种用单片机自动控制交通灯及时间显示的方法。
同时给出了软硬件设计方法,设计过程包括硬件电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要技术问题都有涉足。
本文对十字路口状态预设为两种,一种是正常状态,另一种是故障或紧急状态,并分别用黄、红、绿色灯的不同组合来表示。
本文介绍了控制基本原理以及控制的表现,同时也介绍了城市交通信息系统的设计目标,开发途径及其系统结构与功能和数据地理编码、建库,同时,论述了系统中交通现状、交通管理、交通规划及背景信息查询模块的建造及应用。
介绍了用于城市交叉路口的三色程控交通信号时间显示器的研制方案,对其电源供电、发光二极管构成的负载结构、灯色时间检测都给出了精巧合理的优化结构,大幅度地提高了产品可靠性并降低了制造成本。
关键词:
8051单片机;交通灯;自动控制;时间显示器;软件;硬件;定时器;延时;外部中断
Abstract
AccordingtothefeatureofSCM8051andthecharacteristicsoftrafficlightsinrealcontrol,thearticleputsforwardthemethodofusingsigle-chipmicrocomputertocontrolautomaticallythetrafficsignallightsandtime-show.Themethodofrealizationofhardwarehasalsobeengiven,thewholeprocessincludedhardwarecircuitdesigningandprogramdesigning,inwhichsomeimportanttechniqueproblemthatmaymeetduringtheuseofSinglechipinvolved.Inthispaper,thestateofcrossingwasdesignedastwostates.Oneisnormal,anotherbreackdownorurgent,whichareexpressedwithdifferentcolourlampnamedyellow、redandgreen.Thebasicprincipleandmethodofcontrollingareintroduced.Inthispaper,thedesigngoals,developmentways,systemstructure,systemfunctions,geographiccodesanddatabaseoftheUrbanTrafficInformationSystem(UTIS)werepresented.Furthermore,thedevelopmentandtheapplicationtestsofthetrafficsituationmodel,the
trafficmanagementmodel,thetrafficplanmodelandthebackgroundinformationinquirementmodelofUTISwerediscussed.Thispaperintroducesthedevelopmentschemeofthree-colourprogrammabletrafficsignaltimeindicatorusedinthelevel-crossingofourcity,andgivesitspowersupply,loadconstructionmadebyLEDandtimedetectionoftrafficlampcolourareasonableoptimizestructure.ThereliabilityofProductissubstantially
improvedwhilethecostisreduced.
KeyWords:
SCM8051;trafficlights;automaticcontrol;timeindicator;hardwore;softworetimer;delay;externalinterrupt
引言
交通的发达,标志着城市的发达,相对交通的管理则显得越来越重要。
对于复杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必需按照一定的规律变化,以便于车辆行人能顺利地通过十字路口。
考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,拟采用MCS-51系列的单片机来实现十字路口交通信号灯的控制。
正常情况下,十字路口的红绿灯应交替变换,考虑紧急情况下,如有救护车或警车到来时,应优先让其通过。
在本文中,用发光二极管来模拟信号灯,救护车的优先通过请求信号由外部中断技术来模拟。
要求使用8051定时器/计数器0作为定时器,假设南北和东西的通车时间都为30s,外部中断的延时为10s,要求对通行时间进行倒计时,从P1口输出,在LED上显示并进行递减。
以此来实现十字路口交通灯的指示功能。
交通灯在安全行车过程中起着十分重要的作用,现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用,但根据实际行车过程中出现的情况,主要有如下几个缺点:
1两车道让车轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间短些。
2没有考虑紧急车通过时,两车道应采取的措施,譬如,有消防车通过执行紧急任务时,两车道的车都应停止,让紧急车通过。
根据行车过程中出现的实际情况,如何全面有效地利用交通灯指示交通情况,本人尝试用单片机来控制交通灯,在软、硬件方面采取一些改进措施,使交通灯在控制中灵活而有效。
传统的交通灯控制系统,采用的基本上是3种控制方式。
手按:
交警在岗亭值守,人为进行红绿灯改变;黄闪:
夜间无人值守时,用每秒1次的黄灯闪亮,提醒司机安全驾驶;程控:
以60s作为一个时间单位。
某一方面(例南北方向)红黄绿三灯的工作程序分别是:
红灯先亮30s,然后绿灯亮28s,再绿灯闪亮3s(每秒1次),最后黄灯亮2s。
此时,另一方向(东西方向)红黄绿三灯的工作顺序相应为:
绿灯亮25s,绿灯闪亮3s(每秒1次),黄灯亮2s,最后红灯亮30s。
此后以60s作为时间单位进行上述的反复循环,较为合理地解决了十字路口的交通调度问题。
但红绿灯的工作顺序及时间都是固定的,缺乏灵活性。
采用该3种方式能解决一般岗亭的交通灯控制。
但重点岗亭仍需要有2人以上同时值班,保证有事要处理时,仍能保留一名交警负责对交通灯的控制。
而此时若想采用程控方式,交警将无法对交通灯再人为地加以管理。
难以再科学地指挥车辆的通行,有效地解决交通堵塞问题。
例如当南北方向车流量很大时,程控方式下的南北方向绿灯无法保证开放更长的时间,以缓解交通拥挤的问题。
当前,交通事业蓬勃发展,交通流量年年增长,大、中、小城市的汽车、摩托车等各种车辆与日俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,机动车、非机动车、行人来往非常混乱,为了在叉口的各条干道实现合理的科学分流。
本人根据单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,提出了一种用MCS-51单片机自动控制交通信号灯及时间显示的方法,同时给出了软硬件的实现方法,为交通指挥自动化提供了一种新的廉价手段,具有一定的推广意义。
一.交通信号灯硬件电路的设计
1.1交通信号灯的作用及工作原理:
一般情况下,红绿灯设在十字路口,或在多干道的叉口上,目的是为了调整叉口的交通秩序使各干道来往车辆能够有条不紊地行驶,否则将造成意想不到的严重后果。
当然在叉口设置合理的红绿灯后,也可大大减少交通管理部门的人力、物力。
叉口交通信号等的基本作用:
红灯亮表示车辆、行人禁止通行,绿灯亮表示车辆、行人可以通行,绿灯转换成红灯前几秒,可用黄灯亮来暗示驾驶员或行人即将禁止通行。
该系统的屏幕时间显示用倒计时方式表示红绿灯的切换时间,时间显示器的作用是协助红绿灯工作,跟随红、绿灯反复地进行切换。
目的是为了使驾驶员和行人能够看见红绿等亮的时间还剩几秒以便停车线以内的驾驶员和行人能够更清楚地知道此时该继续通行或减速,才不会使驾驶员盲目地加速或减速停车而阻碍另一干道车辆或行人的通行,从而可以提高叉口车辆及行人的流通率,当然也可以减少事故的发生,为交通安全提供保障。
交通信号灯的工作原理:
如图1示,当A、B组红灯亮绿灯灭;则C、D组绿灯亮红灯灭。
对A、B组或C、D组而言,每当绿灯亮转换成红灯亮前几秒(具体多长时间视实际情况而定)黄灯亮,当绿灯灭时黄灯也灭。
1.2设计要求
首先,要了解实际交通灯的变化规律.假设一个十字路口为东西南北走向.初始状态0东西方向绿灯通车,南北方向红灯,延时30s.转状态1,东西方向黄灯亮,南北方向红灯按1HZ的频率闪烁,延时5s.再转状态2,东西方向红灯亮,南北方向绿灯通车,延时20s.转状态3,东西方向红灯按1HZ的频率闪烁,南北方向黄灯亮,延时5s.最后循环至状态0.这里的延时采用定时器0延时.
其次,当有紧急救护车出现时,应使东西南北四个方向全亮红灯,并延时10s,以便急救车通过,同时对通行时间进行倒计时,从P1口及P3口输出在发光二极管,使用8051定时器/计数器0作为定时器实现子程序延时.技术上可用外部中断0发出一单脉冲向CPU申请中断.
再次,一般交通信号灯控制程序中使用软件延时,软件延时是靠执行一个循环程序以进行时间延迟.软件定时的特点是时间精确,且不需外加硬件电路.但软件定时要占用CPU,增加CPU开销,因此软件定时的时间不宜太长.本程序使用定时器/计数器0来定时,定时电路已经集成在芯片中,这种由硬件电路完成,不占CPU时间.它通过对系统时钟脉冲的计数来实现,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1.计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活又方便.
1.3设计方法
⑴选用MCS-51单片机来实现,根据设计要求,交通信号灯控制器的外部输出信号为主、副车道红、黄、绿灯共12个驱动信号;编程使相应位复/置位来实现信号灯的亮/灭控制,使得十字路口的红、绿灯交替点亮;在灯色交换时,黄灯闪烁提醒。
⑵设计要求有紧急车辆通过时,十字路口均显示红灯。
可以通过软件中断来完成紧急任务,定义T0为计数中断并为下降沿触发,编写对应中断向量子程序和中断服务程序,完成中断处理。
⑶设计还对定时控制有所要求。
对于精确定时,应该用计数器加以控制,硬件实现复杂度增加。
考虑到该设计对时间精度要求不高,所以采用软件定时可以大大简化电路。
先计算出程序单部执行的时间,设置循环参数,利用if语句按设计要求完成定时控制。
二.系统组成
2.1控制要求
⑴主、支干道交替通行,主干道每次放行30秒,支干道每次放行20秒;
⑵绿灯亮时表示可以通行,红灯亮时表示禁止通行;
⑶每次绿灯变红灯时,黄灯先亮5秒(此时另一干道上的红灯不变);
⑷十字路口要求有数字显示,作为时间提示,以便人们更直观地把握时间,具体
要求主、支干道通行时间及黄灯亮的时间均以秒为单位做减数器;
5在黄灯亮时,原红灯按1HZ的频率闪烁;
6当有急救车到达时,路口的信号灯全部变红,让急救车通过。
假定急救车通过
时间为10s,急救车通过后,交通灯恢复先前状态。
2.2硬件控制线路图
图2原理图
2.3工作原理
采用单片机的I/O口P1口和P3直接和交通灯连接,控制程序放在MCS-51单片机如8051的ROM中,在十字路口的四组红、黄、绿交通灯中,受单片机P1.0~P1.7和P3.0、P3.1、P3.3、P3.7控制,由于交通灯为发光二极管且阳极通过限流电阻和电源正极连接,因此I/O口输出低电平时,与之相连的相应指示灯会亮,I/O口输出高电平时,相应指示灯会灭。
紧急车请求通过的信号由人工控制,以中断方式输入单片机,无紧急车通过时,中断引脚INT0通过电阻和电源正极连接为高电平,不产生中断请求,单片机执行主程序,有紧急车通过时,中断引脚采用人工方法接地为低电平,产生中断请求,单片机执行中断服务程序,让紧急车通过,紧急车通过后,中断引脚变为高电平,返回主程序。
由于倒计时显示装置已普遍采用,因此本文未引入探讨。
2.4器件和原理
.什么是单片机
单片机是将中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM或EPROM)、定时器芯片和一些输入/输出接口电路集成在一个芯片上的微控制器(Microcontroller)。
中央处理器包括运算器、控制器和寄存器3个主要部分,是单片机的核心。
存储器按工作方式可以分为两大类:
随机存储器RAM和只读存储器ROM。
RAM可被CUP随机地读写,断电后存储的内容消失;ROM中的信息只能被读取,一般用于存放固定的程序。
ROM中的内容只能用编程器专用设备写入。
输入/输出接口(I/O接口)是单片机的重要组成部分。
程序、数据以及现场信息需要通过输入设备送到单片机,计算结果需要通过输出设备输出到外设。
常用的输入有按键、键盘、A/D等,输出设备一般有LED、电机等。
为了方便理解,我们可以将单片机和PC机进行一个比较。
一台能够工作的计算机要由CPU、RAM、ROM、输入/输出设备等几个部分组成。
在PC机上这些部分被分成若干块芯片,安装在主板上。
而单片机相当于集成了以上所有芯片的一块集成电路芯片。
有一些单片机中除了上述基本的功能,还集成了其他部分功能,如A/D、D/A等。
一个标准的89C51单片机的引脚功能图如图3所示。
图389C51单片机及其引脚
1.AT89C51单片机性能介绍
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.主要特性:
1.与MCS-51兼容
2.4K字节可编程闪烁存储器
3.寿命:
1000写/擦循环
4.数据保留时间:
10年
5.全静态工作:
0Hz-24Hz
6.三级程序存储器锁定
7.128*8位内部RAM
8.32可编程I/O线
9.两个16位定时器/计数器
10.5个中断源
11.可编程串行通道
12.低功耗的闲置和掉电模式
13.片内振荡器和时钟电路
3.管脚说明:
——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的一些特殊功能口,如下表2-1所示:
口管脚
备选功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外部中断0)
P3.3
/INT1(外部中断1)
P3.4
T0(记时器0外部输入)
P3.5
T1(记时器1外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
——RST:
复位输入。
当振荡器复位器件时,要保持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:
来自反向振荡器的输出。
什么是单片机系统
单片机系统的基本结构框图如图4所示。
从图中可以看出,对于一个典型的单片机系统而言,主要由单片机、晶振和复位电路、输入控制电路、输出显示电路以及外围功能器件5个部分组成。
除了上文中介绍过的单片机外,单片机系统中的其他4个部分的主要作用和器件如下。
⑴晶振和复位电路:
单片机系统的必要组成部分,控制单片机的机器周期和功能复位。
⑵输入控制:
是指在一定要求下,采取何种形式的控制方式来实现单片机不同功能的转换,以及控制指令以何种方式传送到单片机。
常用的输入控制方法有按键、矩阵键盘、串行通信等方式。
图4单片机系统的基本组成
⑶输出显示:
是指单片机将需要显示的数据发送到LED、液晶等显示模块,并控制LED等显示模块按照一定的格式显示的功能。
此外,输出对象还有电机、传感器等特殊的功能器件。
⑷外围功能器件:
单片机只是控制器件,对应与一定的设计要求,需要加入特定功能的器件。
例如外部存储器,单片机通过对外部存储器的读写操作,完成对数据的存储器的读写操作,完成对数据的存储和读取,从而扩展单片机的存储单元和数据。
此外,常用的外围器件还有A/D、D/A、74LS07门电路以及特定功能的传感器等。
单片机的最简单系统是指单片机能正常工作所必须的外围元件,主要由单片机、晶振电路和复位电路构成。
而输入/输出部分则通过单片机的I/O口实现。
单片机系统的应用
单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有重要的用途。
其主要的用途可以分为以下方面。
●显示:
通过单片机控制发光二极管或是液晶,显示特定的图形和字符。
●机电控制:
用单片机控制机电产品做定时或定向的动作。
●检测:
通过单片机和传感器的联合使用,用来检测产品或者工况的意外发生。
●通信:
通过RS-232串行通信或者是USB通信,传输数据和信号。
●科学计算:
用来实现简单的算法。
那么单片机是不是解决上述应用的惟一选择呢?
当然不是!
目前,在自动控制中,一般有3种选择,分别是嵌入式微机、DSP和单片机,他们的性能比较如表2-2所示。
表2-2嵌入式微机、DSP、单片机性能比较
指标
嵌入式微机
DSP
单片机
运算速度
一般
快
慢
信息处理量
大
大
小
体积和重量
大
小
小
系统集成度
高
一般
低
开发成本
适中
高
低
典型器件
SUPERDX型嵌入式模块
DSP-56800
TMS320C54X
MCS-51
MCS-98
单片机最明显的优点是价格便宜,从几元人民币到几十元人民币。
这是因为这类芯片的生产量很大,技术也很成熟。
其次,单片机的体积也远小于其他两种方案。
单片机本身一般用40脚封装,当然功能多一些的单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只有8只引脚。
当然,单片机无论在速度还是容量方面都远小于其他两种方案,但是实际上工作中并不是任何需要计算机的场合都要求计算机有很高的性能。
例如,控制电冰箱温度的控制器就不需要使用嵌入式系统,用一片51就可以轻松实现。
所以应用的关键是看是否够用,是否有很好的性能价格比。
51系列的单片机已经面世十多年,依然没有被淘汰,还在不断的发展中,这就说明是它有广阔的应用前景。
2.5部分电路功能
晶振电路
简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。
单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。
一个机器周期包括12个时钟周期。
如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12*(1/12)us,也就是1us。
MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较慢,得要2个机器周期,还有两条指令要4个机器周期才行。
为了衡量指令执行时间的长短,又引入一个新的概念:
指令周期。
所谓指令周期就是指执行一条指令的时间。
例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为12MHZ,则一个机器周期就是1us。
而DJNZ指令是双周期指令,所以执行一次要2us。
如果该指令需要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 自动控制 交通灯 时间 显示 资料 完整 文档