基于单片机的交通灯控制的设计.docx

上传人:b****5 文档编号:5652456 上传时间:2022-12-30 格式:DOCX 页数:25 大小:329.59KB
下载 相关 举报
基于单片机的交通灯控制的设计.docx_第1页
第1页 / 共25页
基于单片机的交通灯控制的设计.docx_第2页
第2页 / 共25页
基于单片机的交通灯控制的设计.docx_第3页
第3页 / 共25页
基于单片机的交通灯控制的设计.docx_第4页
第4页 / 共25页
基于单片机的交通灯控制的设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

基于单片机的交通灯控制的设计.docx

《基于单片机的交通灯控制的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制的设计.docx(25页珍藏版)》请在冰豆网上搜索。

基于单片机的交通灯控制的设计.docx

基于单片机的交通灯控制的设计

安徽建筑工业学院

毕业设计(论文)

 

系(院)电子与信息工程学院

专业

班级

学生姓名

学号

课题基于单片机的交通灯控制的设计

指导教师

 

2012年6月10日

摘要

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。

那么靠什么来实现这井然秩序呢?

靠的就是交通信号灯的自动指挥系统。

交通信号灯控制方式很多。

本系统采用MSC-51系列单片机AT89C51来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管)。

本系统实用性强、操作简单、扩展功能强。

关键词:

AT89C51单片机,交通灯,数码管。

Abstract

Inrecentyears,withtherapiddevelopmentofscienceandtechnology,theapplicationofSCMisunceasinglythorough,whiletraditionalcontroltestingtechnologyisupdated.Inreal-timedetectionandautomaticcontrolofsingle-chipmicrocomputerapplicationsystem,oftenusedasacorecomponent,knowledgeisnotonlytheMCU,stillshouldaccordingtospecifichardwarestructure,softwareandhardware,theperfectcombination.

Pedestriancrossingtransports,bustling,garage,pedestrianhumanitarian,orderlydriveway.Sowhattorealizeitinorder?

Thetrafficlightautomaticcommandsystem.Trafficlightcontrolmanyways.ThissystemUSESMSC-51seriesmicrocontrollerAT89C51todesignthecontroller,lights,canaccordingtoactualtrafficthroughthe8051chipsred,green,P1mouthsettingtimefunction;thedepthTrafficlight(whenthetrafficsignaloutputbymouththattime,PAdirectlythroughthemouth8255PCoutputtodoubleadigitaltube).Thissystemispractical,simpleoperationandfunctionexpansion.

Keywords:

AT89C51SCM,trafficlights,Digitaltube.

基于单片机的交通灯控制的设计

电子与信息工程学院电子信息工程专业2008级2班xx

指导老师xxx

引言

随着人口的快速增多,交通工具的爆炸性的发展,以及道路资源的有限性,交通控制就应运而生,而人类的生活、工作环境中,交通扮演者极其重要的角色,人们的出行都无时不刻与交通打着交道。

我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:

交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。

日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。

随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。

显然,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。

信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。

绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。

左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。

红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。

黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。

1课题背景与方案设计

1.1交通灯研究的背景和意义

随着世界范围内城市化和机动化进程的加快,城市交通越来越成为一个全球化的问题。

城市交通基础设施供给滞后于高速机动化增长需求,道路堵塞日趋加重,交通事故频繁,环境污染加剧等问题普遍存在。

特别是在一些发展中国家,不仅没有在城市规划布局、城市交通发展模式选择与运营机制等方面吸取发达国家城市交通发展的经验与教训,而且重复着它们在高速机动化发展中所犯过的许多错误,无论是大中城市还是新兴的中小城市,几乎都没有前瞻性地解决好城市交通问题。

自改革开放以来,我国的城市规模和经济建设都有了飞速的发展,城市化进程在逐步加快,城市人口在急剧增加,大量流动人口涌进城市,人员出行和物资交流频繁,使城市交通面临着严峻的局势。

如何解决城市交通问题已成为全社会关注的焦点和大众的迫切呼声。

不同的城市有不同城市的问题,但共性就是混合交通流问题。

在交叉口如何解决混合交通流中的相互影响或彼此的相互影响,就是解决问题的关键!

随着我国城市化建设的发展,越来越多的新兴城市的出现,使得城市的交通成为了一个主要的问题。

同时随着我国经济的稳步发展,人民的生活水平日渐提高,越来越多的汽车进入寻常老百姓的家庭,再加上政府大力发展的公交、出租车,车辆越来越多了。

这不仅要求道路要越来越宽阔,而且要求有新的交通管理模式的出台。

旧有的交通控制系统的弊病和人们越来越高的要求激化了矛盾,使原来不太突出的交通问题被提上了日程。

现在有关部门愈来愈多的注重在交通管理中引进自动化的智能化技术,比如“电子警察”、自适应交通信号灯以及耗资巨大的交通指挥控制系统等。

对交通的管控能力,也就从一个侧面体现了这个国家对整个社会的管理控制能力,因此各国都很重视用各种高科技手段来强化对交通的管控能力。

从技术条件分析,我国的城市交通技术应用水平较低,这在交通规划、交通基础设施建设、运输工具水平、交通组织和管理等方面都有反映。

例如道路布局和交通方式分道不合理,现代化轨道交通缺少,路面公共交通效率低,车况较差,相关技术标准较低、自行车交通比例高,日常交通以人工管理为主等,对城市交通的管理还局限于传统的车流人流控制方面,缺乏对城市交通需求进行研究和管理。

特别是在应用现代通信和网络技术管理交通方面,除少数几个大城市已经起步外,大多数城市还是空白。

另外,我国在城市交通规划和管理方面对基础性研究缺乏重视,研究力量和研发投入不足,也是技术水平低和造成城市交通发展缓慢的原因。

据世界银行交通专家估计:

由于机动化水平并不高,中国大城市道路网一般有30-50%的潜力没有发挥。

如果我们能尽快引进先进管理技术与设施,使城市道路交通置于先进科学的系统管理之下,让现有城市道路网及相关设施的潜能充分发挥出来。

近几年来,世界主要大城市为缓解城市交通拥堵,都在不断采取新技术,提高科学管理水平,如从点控、线控到区域控制,直到现在的智能交通系统(ITS),把电子、通讯、声像、计算机及GPS等高新技术溶于其中,使交通走向越来越“智慧化”的系统管理之路。

为了实现城市道路交通的畅通,缓解城市交通拥塞,我国公安交通管理部门一直把科技应用作为主要发展方向,多年来做了大量的工作。

总体来说,国内城市交通指挥系统的发展经历了以下几个阶段:

七十年代末到九十年代初,城市交通监控中心主要是建立交通信号控制系统和交通电视监控系统,其主要功能是对路口信号灯进行点、面相结合的控制,对路面的交通状况进行实时的监视,并辅之以人工干预。

九十年代以来,原来的监控中心不断增加了GPS车辆定位系统、交通事故处理系统、交通群体诱导系统、交通管理信息系统、交通地理信息系统等等,并逐步发展为城市交通指挥中心。

其主要特征是指挥中心内的这些系统基本上都是物理上放置在一起,相互之间基本上不能进行信息互换与共享,实现统一调度与指挥。

从九十年代末开始,我国公安交通管理部门和科研单位就开始研究如何实现各个系统之间的信息交换与共享,如何实现快速反应决策,完成统一调度与指挥,以建立新一代的智能化城市交通指挥系统,实现城市交通的智能化。

顺应世界道路交通运输业的发展趋势,公安交通管理部门正在研究和探索从城市交通监控系统、城市交通指挥中心向智能化城市交通指挥系统迈进之路。

相信,通过对智能化,自助式,城市交通指挥系统的正确理解、合理规划和有效实施,必将有效地推动我国公安交通管理工作的科学化和现代化,推动我国交通控制的迅速发展。

1.2总体设计方案

在城市道路中有大量的平面交叉路口,它们是交通流的汇集点和分流点。

正是由于这些交叉路口的存在,才形成了四通八达的交通网络,而平面交叉路口又往往是事故高发地带。

本设计模拟的是十字路口方案,即一主干道(南北方向),一从干道(东西方向)的路口。

如图1-1。

图1-1十字形路口

本系统需要采用MSC-51系列单片机AT89C51作为中心器件,设计交通灯控制器实现:

直行红绿灯、左转红绿灯的显示以及红绿灯转换倒计时显示。

具体通行设计方案:

第一阶段:

初始运行开始,南北方向直行绿灯亮,左转灯红灯亮,东西方向直行与左转灯红灯亮。

数码管40秒倒计时,此时行人可通过东西路。

第二阶段:

倒计时结束,红绿灯变换时间间隔为一秒。

南北方向左转绿灯亮,直行灯红灯亮,东西方向直行与左转灯红灯亮。

数码管20秒倒计时,行人禁行。

第三阶段:

倒计时结束,红绿灯变换时间间隔为一秒。

东西方向直行绿灯亮,左转灯红灯亮,南北方向直行与左转灯红灯亮。

数码管40秒倒计时,此时行人可通过南北路。

第四阶段:

倒计时结束,红绿灯变换时间间隔为一秒。

东西方向左转绿灯亮,直行灯红灯亮,南北方向直行与左转灯红灯亮。

数码管20秒倒计时,行人禁行,倒计时结束。

返回第一阶段继续循环。

运行过程中可通过复位电路开关将运行状态复位至第一阶段初始状态。

1.3设计步骤

1.利用Proteus7.5SP3仿真软件按下列要求绘制仿真实例

✧用LED灯的分别表示东、西、南、北四个方向路口直行红灯与绿灯以及左转弯红灯与绿灯。

每个路口4盏灯。

✧用P1口输出控制模拟交通灯的状态显示的LED灯显示。

✧用P2口输出控制倒计时显示数码管的状态码。

✧用P0.0与P0.1控制数码管的位选。

2.按照基本要求编制程序实现相应功能。

3.购买连接实物并实现所涉及的功能。

2单片机概述

2.1单片机的发展历程

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。

单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。

在MCS-51系列单片机中,有两个子系列:

51子系列和52子系列。

每个子系列有诺干中型号。

51系列有8051、8751和8031三个型号,后来经过改进产生了80c51、87c51、80c31三个型号;52系列有5021、8752、8032三个型号,改进后的型号是80c52/87c52、80c32。

改进后的型号更加省电。

52系列比对应的51系列增加了定时器T2并将内部程序存贮器增加到8KB。

Inter公司停止生产MCS-51系列单片机之后将生产权转让给了许多其他公司,于是出现了许多与Mcs-51兼容的单片机。

现在生产mcs-51兼容单片机的公司对其进行了不同程度的改进和提高。

我们现在使用比较的多的是AT89C51/AT89s51等。

通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:

中央处理器、存储器和I/O接口电路等。

因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。

2.2单片机的特点

(1)性价比高,开发周期短,易于产品化,

(2)集成度高,可靠性好,抗干扰性强,

(3)功能完善,接口多样,

(4)低功耗、低电压

一般电源供电电压在5~3V范围内单片机都能正常工作,供电的下限可达1~2V。

(5)总线多样,易于扩展

单片机外部的典型三总线结构,方便系统构扩展,构成各种规模的应用系统。

外部总线增加了I2C及SPI等串行总线方式,可根据需要进行并行或者串行扩展。

2.3AT89C51单片机简介

AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

其主要特性有:

与MCS-51兼容

4K字节可编程闪烁存储器

寿命:

1000写/擦循环

数据保留时间:

10年

全静态工作:

0Hz-24MHz

三级程序存储器锁定

128×8位内部RAM

32可编程I/O线

两个16位定时器/计数器

5个中断源

可编程串行通道

低功耗的闲置和掉电模式

片内振荡器和时钟电路

管脚说明

图2-1MCS-51结构框图

VCC:

供电电压。

  GND:

接地。

  P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P0口的管脚第一次写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口同时为闪烁编程和编程校验接收一些控制信号。

  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:

来自反向振荡器的输出。

3系统硬件设计

3.1系统总框图

 

图3-1系统框图

3.2控制流程分析

(1)东西、南北方向提醒信号灯变化的各倒计时显示只需要同一种倒计时显示配合信号灯的变化即可起到警示过往车辆的功能。

在现实中共有东西南北四个方向共有四个倒计时显示的数码管。

模拟电路中,为了节省花费我们只设置了一个数码管显示。

而如果需要其余三个数码管只需并联按照与此数码管相同的接法接到相应端口即可。

(2)东西、南北方向信号灯控制是中心对称的,即两侧系统对同方向的信号灯控制是同步的。

模拟电路中,我们同一方向只设置了一组信号灯,即可实现模拟的功能。

现实中需要同一方向另一组信号灯的时候。

只需要并联按照前一组信号灯的接法接入电路相应端口即可。

3.3时钟电路

时钟电路一般由晶体震荡器、晶震控制芯片和电容组成。

可以简单定义如下:

  1.就是产生像时钟一样准确的振荡电路。

2.任何工作都按时间顺序。

用于产生这个时间的电路就是时钟电路。

单片机运行需要时钟支持——就像计算机的CPU一样,如果没有时钟电路来产生时钟驱动单片机,那单片机就不能执行程序。

单片机可以看成是在时钟驱动下的时序逻辑电路。

时钟电路是计算机的心脏,它控制着计算机的工作节奏。

CPU就是通过复杂的时序电路完成不同的指令功能的。

MCS5l的时钟信号可以由两种方式产生:

一种是内部方式,利用芯片内部的振荡电路,产生时钟信号;另一种为外部方式,时钟信号由外部引入。

分别如图所示。

图3-2内部时钟方式外部时钟方式

AT89C51单片机内部有一个用于构成振荡器的高增益反向放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。

如图3-3所示(C1、C2大小一般为30pF)。

 

图3-3时钟电路

3.4复位电路

单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。

RESET/Vpd是复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。

RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。

然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。

8051的复位方式可以是自动复位,也可以是手动复位。

此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。

图3-4上电自动复位手动复位电路

本设计采用手动复位电路。

3.5显示电路

3.5.1LED数码管显示器

显示电路采用LED数码管显示器动态倒计时显示。

现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件。

但是其成本比较高,二位一体数码管显示器成本低廉,且易于控制,制作方便。

我们选用二位一体数码管用于倒计时显示。

数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。

3.5.2共阴极数码管与共阳极数码管

数码管分共阴极数码管与共阳极数码管。

数码管分共阴极数码管与共阳极数码管。

它们的发光原理是一样的,只是它们的电源极性不同而已。

图3-5例举的是共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。

LED数码管原理图示意:

 

图3-5引脚示意图  

从上图可以看出,要是数码管显示数字,有两个条件:

1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。

这样才能显示的。

 

共阳极LED数码管的内部结构原理图图3-6所示:

 

 图3-6共阳极LED数码管的内部结构原理图

共阴极LED数码管的内部结构原理图图3-7:

  

 

图3-7共阴极LED数码管的内部结构原理图

以下为如何测试数码管是共阴极还是共阳极的方法。

首先,我们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个L

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1