单片机控制交通灯.docx

上传人:b****2 文档编号:3284955 上传时间:2023-05-05 格式:DOCX 页数:24 大小:2.30MB
下载 相关 举报
单片机控制交通灯.docx_第1页
第1页 / 共24页
单片机控制交通灯.docx_第2页
第2页 / 共24页
单片机控制交通灯.docx_第3页
第3页 / 共24页
单片机控制交通灯.docx_第4页
第4页 / 共24页
单片机控制交通灯.docx_第5页
第5页 / 共24页
单片机控制交通灯.docx_第6页
第6页 / 共24页
单片机控制交通灯.docx_第7页
第7页 / 共24页
单片机控制交通灯.docx_第8页
第8页 / 共24页
单片机控制交通灯.docx_第9页
第9页 / 共24页
单片机控制交通灯.docx_第10页
第10页 / 共24页
单片机控制交通灯.docx_第11页
第11页 / 共24页
单片机控制交通灯.docx_第12页
第12页 / 共24页
单片机控制交通灯.docx_第13页
第13页 / 共24页
单片机控制交通灯.docx_第14页
第14页 / 共24页
单片机控制交通灯.docx_第15页
第15页 / 共24页
单片机控制交通灯.docx_第16页
第16页 / 共24页
单片机控制交通灯.docx_第17页
第17页 / 共24页
单片机控制交通灯.docx_第18页
第18页 / 共24页
单片机控制交通灯.docx_第19页
第19页 / 共24页
单片机控制交通灯.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机控制交通灯.docx

《单片机控制交通灯.docx》由会员分享,可在线阅读,更多相关《单片机控制交通灯.docx(24页珍藏版)》请在冰点文库上搜索。

单片机控制交通灯.docx

单片机控制交通灯

目录

1概述1

1.1交通灯的历史背景和意义1

1.2交通灯的发展与现状2

2课题方案设计4

2.1系统总体设计要求4

2.2系统模块结构论证4

3系统硬件设计4

3.1总体设计4

3.3系统时钟电路6

3.4系统复位电路8

3.5信号灯电路8

4系统软件的设计10

4.1程序流程图10

4.2红绿灯参考程序流程图11

5软硬件调试及调试结果12

5.1软硬件调试中出现的问题及解决措施12

5.1.1硬件调试13

5.1.2软件调试13

5.2实物图13

5.3调试结果14

结束语16

参考文献16

附录16

附录1基于单片机的交通灯设计原理图16

附录2基于单片机的交通灯设计PCB图18

附录3Proteus仿真图19

附录4基于单片机的交通灯设计C语言程序清单19

附录5基于单片机的交通灯设计元器件目录表21

1概述

1.1交通灯的历史背景和意义

随着社会经济的发展,城市交通问题越来越引起人们的关注。

人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。

城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。

所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速公路,缓解主干道与匝道、城市同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。

交通灯是城市活动的命脉,对于城市经济发展、人民生活水平的提高起着十分重要的作用。

城市交通问题是困扰城市发展、制约城市经济建设的重要因素,城市道路增长的有限与车辆增加的无限这一矛盾是导致城市交通拥挤的根本原因。

城市街道网络上的交通容量的不断增加,表明车辆对道路容量的要求仍然很高,短期内还不可改变。

自从开始用计算机控制系统后,不管在控制硬件里取得什么样的实际发展,交通控制领域的控制逻辑方面始终没能取得重大突破。

可以肯定的说,对于减轻交通拥塞及其副作用特别是对于大的交通网络而言,仍然缺乏一种真正的交通响应控制策略。

计算机硬件能力与控制软件能力很不相符,由此造成的影响是很多交通控制策略根本不能实现。

在少数几个例子中,一些新的控制策略确实能得以实现,但它们却没能对早期的控制策略进行改进。

由于缺乏能提高交通状况,特别是缺乏拥塞网络交通状况的实时控制策略,几乎可以说真正成熟的控制策略仍然不存在。

集成化和智能化是城市交通信号控制系统的发展趋势和研究前沿,而针对交通系统规模复杂性特征的控制结构和针对城市交通瓶颈问题并代表智能决策的阻塞处理则是智能交通控制优化管理的关键和突破口。

因此,研究基于智能集成的城市交通信号控制系统具有相当的学术价值和实用价值。

把智能控制引入到城市交通控制系统中,未来的城市交通控制系统才能适应城市交通的发展。

从长远来看,该研究具有重要的现实意义。

1.2交通灯的发展与现状

随着城市经济的发展,城市现代化程度不断提高,交通需求和交通量迅速增长,城市交通网络中交通拥挤日益严重,道路运输所带来的交通拥堵、交通事故和环境污染等负面效应也日益突出,逐步成为经济和社会发展中的全球性共同问题。

交通问题已经日益成为世界性的难题,城市交通事故、交通阻塞和交通污染问题愈加突出。

为了解决车和路的矛盾,常用的有两种方法:

一是控制需求,最直接的办法就是限制车辆的增加;二是增加供给,也就是修路。

但是这两个办法都有其局限性。

交通是社会发展和人民生活水平提高的基本条件,经济的发展必然带来出行的增加,而且在我国汽车工业正处在起步阶段时期,因此限制车辆的增加不是解决问题的好办法。

而采取增加供给,即大量修筑道路基本设施的方法,在资源、环境矛盾越来越突出的今天,而对越来越拥挤的交通,有限的资源和财力以及环境的压力,也将受到限制。

这就需要依靠除限制需求和提供道路设施之外的其他方法来满足日益增长的交通需求。

交通系统正是解决这一矛盾的途径之一。

智能交通系统是将先进的信息技术、数据通信技术、电子传感技术、电子控制技术及计算机处理技术等有效的集成运用于整个地面交通运输管理系统。

对城市交通流进行智能控制,可以使道路顺畅,提高交通效率。

合理进行交通控制可以对交通流进行有效的引导和调度,使交通保持在一个平稳的运行状态,从而避免或缓和交通拥挤状况。

大大提高交通运输的运行效率。

还可以减少交通事故,增加交通安全,降低污染程度,节省能源消耗,本文就是通过对交叉路口交通信号的只能控制,达到优化路口交通流的目的。

交通系统作为一个时变的、具有随机性的复杂系统,传统的人为设定多嘴方案或是建立各种预测模型均比较困难。

城市交通控制研究的起源比较早,1868年,英国伦敦燃气信号灯的问世,标志着城市交通控制的开始。

1913年,在美国俄亥俄州的Cleveland市出现了世界上最早的交通信号控制。

1926年美国的芝加哥市采用了交通灯控制方案,每个交叉口设有唯一的交通灯,适用于单一的交通流。

从此,交通控制技术和相关的控制算法得到了发展和改善,提高了交通控制的安全性、有效性,并减少了对环境的影响。

进入20世纪70年代,随着计算机技术和自动控制技术的发展,已经交通流理论的不断完善,交通运输组织与优化理论和技术水平不断提高,控制手段越来越先进,形成了一批高水平有实效的城市道路交通控制系统。

早在1977年,Pappis等人就将模糊控制运用到交通控制上,通过建立规则库或是专家系统对各种交通状况进行模糊控制,并取得了很好的效果。

近年来,欧美日本等相继建立了智能交通控制系统。

在这些系统中,大部分在路口附近安装磁性环路检测器,还使用了新型检测器等技术和设备。

这些现代化设备技术加上控制理论和现代化科学管理技术,似的交通控制系统日益完善。

随着一些研究控制理论的学者投身到交通控制的研究中,在交通信号控制领域提出了一些新方法、新思路。

如静态多段配时控制、准动态多段配时控制、最优控制、大系统递阶控制、模糊控制、神经网络控制、网络路由控制等。

模糊交通控制已经成为了交通信号控制的上流方向之一。

虽然模糊控制能有效处理模糊信息,但是产生的规则比较粗糙,利用规则表进行控制,运算速度虽然比较快但没有自学习功能。

而且这些研究有些似乎相序固定为前提,不能保证相序与实际交通流状况的一致性,影响了绿灯时间的利用率。

有些研究则提出了可变相序的模糊控制方法,提高了绿灯时间的利用率,弥补了相序固定的缺点,但同时也存在一些不足。

例如目前应用比较好的交通系统:

SCOOT(经典交通系统),它们都是主要采用统计模型和经典算法。

但城市交通系统是一个复杂的、随机性很强的巨型系统,要想建立实用性较强的数学模型是十分困难的。

利用模糊控制智能控制技术进行交叉口信号灯控制能取得比定时控制与感应控制更好的效果,是今后单交叉路口信号灯控制的主要研究方向。

目前,国内的交通灯一般设在十字路口,在醒目位置用红、黄、绿三种颜色的指示灯。

对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在缺点:

两车道的车辆轮流放行的时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。

2课题方案设计

2.1系统总体设计要求

因东西同属一个车道,南北也同属一个车道,因此控制一边的灯就可以了,现象一样。

1、东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车。

2、延时一段时间后,东西路口的绿灯熄灭,黄灯开始延时并开始闪烁,闪烁三次后,东西路口的红灯亮,同时南北路口的绿灯亮,南北方向开始通车。

3、延时一段时间后,南北路口的绿灯熄灭,黄灯开始延时并开始闪烁,闪烁三次后,再切换到东西路口方向。

4、之后一直重复以上三步。

2.2系统模块结构论证

图2-1系统的总体框图

3系统硬件设计

3.1总体设计

实现本设计要求的具体功能,可以选用AT89C52单片机及外围器件构成最小控制系统,12个LED分成四组红黄绿三色灯构成信号灯指示模块。

3.2单片机运行的最小系统

图3-1ST89C52引脚结构

单片机的最小系统由电源、晶振、复位、/EA=1组成,下面介绍每一个组成部分。

1、电源引脚

GND20接地端

Vcc40电源端(工作电压为5V)

2、外接晶体引脚

XTAL119

XTAL218

3、复位RST9

4、输入输出引脚

(1)P0端口[P0.0-P0.7]

P0是一个8位漏极开路型双向I/O端口,端口置1,(对端口写1)时作高阻抗输入端,作为输出口时能驱动8个TTL。

对内部Flash程序存储器编程时,接受指令字节;校验程序时输出指令字节,要求外接上拉电阻。

在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。

(2)P1端口[P1.0-P1.7]

P1是一个带有内部上拉电阻的8位双向I/O端口。

输出时可驱动4个TTL。

端口置1时,内部上拉电阻将端口拉到高电平,作输入用。

对内部Flash程序存储器编程时,接收低8位地址信息。

(3)P2端口[P2.0-P2.7]

P2是一个带有内部上拉电阻的8位双向I/O端口。

输出时可驱动4个TTL,端口置1时,内部上拉电阻将端口拉到高电平,作输入用。

对内部Flash程序存储器编程时,接收高8位地址和控制信息。

在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。

而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。

(4)P3端口[P3.0-P3.7]

P3一个带有内部上拉电阻的8位双向I/O端口。

输出时可驱动4个TTL。

端口置1时,内部上拉电阻将端口拉到高电平,作输入用。

对内部Flash程序存储器编程时,接控制信息。

除此之外P3端口还用于一些专门功能,具体功能如下:

引脚

第二功能

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

/WD(外部数据存储器读选通信号输出端)

表3-1P3口特殊功能口

 

3.3系统时钟电路

图3-2内部时钟电路结构

时钟是单片机的心脏,单片机的各功能部件的运行都是以时钟的频率为基准的。

因此,时钟频率直接影响单片机的速度,时钟质量也直接影响单片机系统的稳定性。

通常的时钟电路有两种方式:

一种是内部时钟方式,一种是外部时钟方式。

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

使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。

内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。

晶振的频率可以再1MHz-24MHz内选择。

电容取30PF左右。

系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。

AT89C52单片机内部有一个用于构成振荡器的高增益反相放大器。

引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。

这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。

外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。

对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。

因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22F。

在焊接刷电路板时,晶体振荡器和电容应尽可能安装的与单片机芯片靠近,以减小寄生电容,更好的保证振荡器稳定和可靠工作。

 

 

图1-4外部时钟电路方式

3.4系统复位电路

图3-3系统复位电路

在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位,复位后P0-P3口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。

当复位引脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。

复位是由外部的复位电路来实现的。

片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每一个机器周期的S5P2,由复位电路采样一次。

复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。

当时钟频率选用6MHz时,C取22μF,Rs约为200Ω,Rk约为1K。

复位操作不会对内部RAM有所影响。

3.5信号灯电路

在设计交通灯时,采用了发光LED代替信号灯。

先介绍一下LED。

LED的工作原理是单向导通,即只有正极电压高于负极电压某个特定值时才会导通,而负极电压高于正极电压时是不会导通的。

图3-4发光LED结构示意图

发光LED是一种特殊的二极管,导通时会发光(发光二级管导通压降一般为1.7V-1.9V)。

此外,工作电流要满足LED的工作电流。

图3-5信号灯设计电路

发光LED的正负极可以用万用表判断,把万用表拨至电阻档,用两个表笔分别接触LED的两个引出脚,若发光LED被点亮,则与红表笔相接触的引出脚为正极。

一般发光LED与I/O端口之间都会再连接一个电阻,其作用在于限制通过二极管的电流,从而达到减小功耗和满足端口对最大电流的限制。

在本次设计中,信号灯的具体连接方式如下图所示,阻值大小计算如下:

所需阻值=(电压-LED压降-I/O电平)/电阻上的电流。

经计算得出所需电阻大小为200~400Ω。

图3-6信号灯连接方式

4系统软件的设计

4.1程序流程图

图4-1程序流程图

4.2红绿灯参考程序流程图

图4-2红绿灯程序流程图

5软硬件调试及调试结果

5.1软硬件调试中出现的问题及解决措施

本次设计要进行软件仿真,所以采用Keil软件和Proteus软件联合调试,具体过程可以概括为以下两点:

(1)在Keil软件上编写程序,编译生成hex文件;

(2)在Proteus上绘制原理图,把生成的hex文件添加到单片机中,点击运行进行仿真。

5.1.1硬件调试

电路焊接好后,进行电路连通测试。

先用万用表检测各个连接点,确保连接点连接完好;再检测各种电源线与地线之间是否有短路现象,要确保电路无短路,否则有可能会烧坏元器件。

用万用表检查完后,再进行上电检测。

给板加电,用万用表检测所有的连接点或是器件的端口是否符合预计的电压值,最后是联机检测。

各芯片功能检测:

事先编号一段简易程序(程序要能体现芯片功能),将程序输入到硬件电路的单片机中,观察各个芯片实现的功能是否正常运行,如能正常运行,说明芯片没有损坏,芯片可以使用。

5.1.2软件调试

软件调试是通过对用户程序的连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除修正的过程。

调试过程中,对程序实现的是分模块调试,先确认模块程序能够运行,再进行调试的整体调试,这样可以快速的检查出程序程序实现的功能与实体实际要求的区别,发现有区别也可以快速更改程序,直到程序能够实现设计要求。

最后将各个模块组合后再调试程序,确保各功能模块能够相同。

5.2实物图

图5-1正面

图5-2反面

5.3调试结果

图5-3东西方向绿灯,南北方向红灯

东西方向绿灯亮,南北方向红灯亮,时间均为系统预设时间8s。

图5-4东西方向黄灯闪烁

8s过后,东西方向的黄灯开始闪烁,交通灯进入等待状态。

图5-5南北方向绿灯,东西方向红灯

东西方向黄灯闪烁5s后变成红灯,同时南北方向的绿灯亮8s。

之后一直重复上述过程。

结束语

经过为期两周的单片机课程设计,加深了我对单片机的理解与使用。

一些在课堂上学习到的很抽象的知识,通过我自己对单片机的制作、运行、调试,在脑海里变的更加的清晰透彻。

我的课题并不难,需要的器件也不多,一些发光LED罢了,但是万事开头难,由于一些知识掌握的并不透彻,所以在最开始做单片机最小系统的时候并不是一帆风顺的,怎么调试都不能让小灯泡亮,最后还是在同学的帮助下,帮我找出了问题所在:

开关也是有极性的,我把极性搞混淆了,所以怎么调试都不可能亮的。

有了前车之鉴,我在做交通灯的时候也就格外小心。

尽管很小心,最后还是出了点问题:

红、黄、绿三个灯只有绿色的灯会亮,红色的和黄色的怎么调试都不亮。

我当时觉得很奇怪,三个灯都是一个型号的,管脚也都是按一样的顺序排列的,为什么只有绿色的会亮?

我网上查了许多资料才发现了一个坑爹的原因:

绿色的灯泡和其他两个灯泡管脚正好相反。

这就是为什么只有它会亮。

知道了原因,我也就很轻松的解决了问题,最后,很成功的,交通灯运行了。

通过这次的课程设计,我也知道了就算是很简单的事情,也不能懈怠,也是需要一定的知识和耐心去对待的。

最后,还要谢谢给过我帮助的同学们和老师,没有你们的帮助也不会让我顺利的完成这次课程设计。

参考文献

[1]唐骏翟单片机原理与应用冶金工业出版社2003.3

[2]肖红兵单片机应用技术自编教材

[3]何利民主编单片机应用文集北京航空航天大学出版社1991

[4]赵瑞鑫等单片机原理及应用教程机械工业出版社2005.7

[5]张毅刚MCS-51单片机应用设计哈工大出版社2004年第二版

[6]徐惠民、安德宁单片微型计算机原理接口与应用(第一版)北京邮电大学出版社1996

附录

附录1基于单片机的交通灯设计原理图

图1单片机控制交通灯visio图

图2单片机控制交通灯protel图

附录2基于单片机的交通灯设计PCB图

图3单片机控制交通灯PCB图

附录3Proteus仿真图

图4单片机控制交通灯Protsus仿真图

附录4基于单片机的交通灯设计C语言程序清单

#include

#defineuintunsignedint

#defineucharunsignedchar

sbitRED_A=P0^0;

sbitYELLOW_A=P0^1;

sbitGREEN_A=P0^2;

sbitRED_B=P0^3;

sbitYELLOW_B=P0^4;

sbitGREEN_B=P0^5;

ucharTime_Count=0,Flash_Count=0,Operation_Type=1;

voidT0_INT()interrupt1

{

TH0=-50000/256;

TL0=-50000%256;

switch(Operation_Type)

{

case1:

RED_A=0;YELLOW_A=0;GREEN_A=1;

RED_B=1;YELLOW_B=0;GREEN_B=0;

if(++Time_Count!

=100)return;

Time_Count=0;

Operation_Type=2;

break;

case2:

if(++Time_Count!

=8)return;

Time_Count=0;

YELLOW_A=!

YELLOW_A;

GREEN_A=0;

if(++Flash_Count!

=10)return;

Flash_Count=0;

Operation_Type=3;

break;

case3:

RED_A=1;YELLOW_A=0;GREEN_A=0;

RED_B=0;YELLOW_B=0;GREEN_B=1;

if(++Time_Count!

=100)return;

Time_Count=0;

Operation_Type=4;

break;

case4:

if(++Time_Count!

=8)return;

Time_Count=0;

YELLOW_B=!

YELLOW_B;

GREEN_B=0;

if(++Flash_Count!

=10)

return;

Flash_Count=0;

Operation_Type=1;

break;

}

}

voidmain()

{

TMOD=0x01;

IE=0x82;

TR0=1;

while

(1);

}

附录5基于单片机的交通灯设计元器件目录表

元器件名称

规格型号

数量

微处理器

STC89C52

1个

电阻

1KΩ、500Ω、100Ω

若干

发光LED

F5食人鱼

12个

电容

0805

2个

按钮

1个

电解电容

10uF

1个

电源变压器

220V/12V

1个

晶振

12MHZ

1个

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2