基于单片机实现交通灯控制系统.docx

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

基于单片机实现交通灯控制系统.docx

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

基于单片机实现交通灯控制系统.docx

基于单片机实现交通灯控制系统

基于单片机实现交通灯控制系统

河南机电高等专科学校

 

毕业设计论文

 

论文题目:

基于单片机实现交通灯控制系统

 

系部电子通信工程系

专业应用电子技术

班级2007级4班

学生姓名位中玉

学号070415233

指导教师史兆强

 

2010年5月2日

摘要2

第1章序言4

1.1交通灯的形成4

1.2芯片简介4

1.3论文研究内容与章节安排8

第2章方案比较、设计与论证9

2.1电源提供方案9

2.2显示界面方案9

2.3输入方案10

第3章理论分析与计算11

3.1交通灯显示时序的理论分析与计算11

3.2交通灯显示时间的理论分析与计算13

第4章电路图及设计文件14

4.1灯控制电路设计14

4.2倒计时显示电路设计14

4.3违规车辆检测电路设计15

第5章程序设计思路与流程图17

5.1主程序流程图17

5.2按键子程序流程图20

结论25

致谢26

参考文献27

附录1系统原理图28

附录2系统程序29

 

摘要

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

鉴于交通灯的实用性,所以毕业设计选定了交通灯系统。

本系统源自自选题目,由单片机系统、键盘、LED显示、交通灯演示系统组成。

系统可演示实际交通灯的所有功能,系统包括人行道、左转、右转、以及基本的交通灯的功能。

为保证系统的稳定性和实用性。

本系统对有的单元电路做了一些对比,例如电源部分、数码管显示部分和输入部分,使之既能完成系统的要求,完成系统给定的任务。

又能简化电路和降低成本。

系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间、违规车辆检测以及根据具体情况手动控制等功能。

使系统既能完成正常时间交通灯的功能,又能根据特定情况完成紧急任务功能,体现出本系统的智能性。

关键词AT89S51交通规则LED

Abstract

Today,thetrafficlightsinstalledontheroadintraffic,hasbecomethemostcommonanddredgethemosteffectivemeans.Inlightofpractical,sothetrafficsystemofgraduationdesignselected.ThissystemfromtopicbySCMsystem,keyboard,LEDdisplaysystem,trafficdemonstrationSystemcandemonstratetheactualtrafficsystem,includingallfunctions,left,rig

ht,andthebasicfunctionofthetrafficlights.Toensurethestabilityofthesystemandpracticability.Thissystemforsomeunitcircuitmadesomecontrast,suchaspowersupply,digitaltubedisplayandinputpartcanfulfillthesystemrequirements,thecompletionofthetasksgivensystem.Cansimplifythecircuitandreducecost.Inadditiontothebasictrafficfunctionoutside,stillhavethecountdown,timesettingandemergencyhandling,adjustthelightintervaltime,violatecompassesvehicledetectionandaccordingtothespecificcircumstancesofmanualcontroletc.Function.Makesystemcancompletethenormaltimeaccordingtospecificfunction,andalsocompletedanurgenttaskcircumstance,reflectthesystemfunctionofintelligence.

KeyWordsAT89S51TrafficregularLED

第1章序言

1.1交通灯的形成

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

但这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。

这是世界上最早的交通信号灯。

1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。

它由红绿两色旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。

1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。

电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。

红灯亮表示“停止”,绿灯亮表示“通行”。

1918年,又出现了带控制的红绿灯和红外线红绿灯。

带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。

红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。

红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。

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

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

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

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

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

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

我们设计的单片机控制交通灯就是基于信号灯。

1.2芯片简介

单片机简介:

单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

早期的单片机都是8位或4位的。

其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。

此后在8031上发展出了MCS51系列单片机系统。

基于这一系统的单片机系统直到现在还在广泛使用。

随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。

90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。

随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。

而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。

目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端[1]的型号也只有10美元。

当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。

而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。

单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。

事实上单片机是世界上数量最多的计算机。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。

而个人电脑中也会有为数不少的单片机在工作。

汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!

单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:

一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可用它来做一些控制电器一类不是很复杂的工作足矣了。

我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影,它主要是作为控制部分的核心部件。

它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

单片机是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!

但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!

只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。

由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?

很多高级的语言已经达到了可视化编程的水平为什么不用呢?

原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。

一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!

对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。

单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。

一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。

可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

不过,这种电脑,通常是指个人计算机,简称PC机。

它由主机、键盘、显示器等组成。

还有一类计算机,大多数人却不怎么熟悉。

这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。

顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。

因为它体积小,通常都藏在被控机械的“肚子”里。

它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。

现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。

各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。

究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。

MSC-51芯片简介

8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统

的讲解。

8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:

中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

数据存储器(RAM):

8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

程序存储器(ROM):

8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

定时/计数器(c/t):

8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

全双工串行口:

8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

中断系统:

8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

时钟电路:

8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。

INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。

1.3论文研究内容与章节安排

本文首先通过序言介绍了交通的由来,以及单片机芯片相关知识,然后通过实际交通灯的考察,运用单片机的知识加以实现。

章节安排如下:

由于本系统是使用单片机控制的交通灯系统,所以先简要的介绍了交通灯的发展历史,对于系统所使用的单片机,我采用了常用的51系列的单片机,并对单片机的结构和特点进行了介绍。

为建立最恰当的电路,我还在有的模块电路之间进行了对比,最后通过对各个电路的说明和它的工作原理及实现的功能,画出了电路原理图,并写出了系统的程序,使之能符合设计要求。

最后对该系统设计进行了总结。

第2章方案比较、设计与论证

2.1电源提供方案

为使模块稳定工作,须有可靠电源。

我们考虑了两种电源方案:

方案一:

采用独立的稳压电源。

此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。

方案二:

采用单片机控制模块提供电源,为保持电源稳定,系统采用L7805稳压电路。

本方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。

综上所述,我们选择第二种方案,如图2-1所示。

图2-1电源电路

2.2显示界面方案

该系统要求完成倒计时、状态灯等功能。

基于上述原因,我们考虑了三种方案:

方案一:

完全采用数码管显示。

这种方案只显示有限的符号和数码字符,无法胜任题目要求。

方案二:

完全采用点阵式LED显示。

这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。

方案三:

采用数码管与点阵LED相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯

分别显示时间与提示信息。

这种方案既满足系统功能要求,又减少了系统实现的复杂度。

权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。

2.3输入方案

题目要求系统能手动设灯亮时间、紧急情况处理,我们讨论了两种方案:

方案一:

采用8155扩展I/O口及键盘,显示等。

该方案的优点是:

使用灵活可编程,并且有RAM,及计数器。

若用该方案,可提供较多I/O口,但操作起来稍显复杂。

方案二:

直接在IO口线上接上按键开关。

因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用四个按键,分别是K1、K2、K3、K4。

由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。

第3章理论分析与计算

3.1交通灯显示时序的理论分析与计算

对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流为车流量,用公式:

车流量=车流/时间来表示。

说明:

图3-1为直方图,上边为北路口灯,右边为东路口灯,下边为南路口灯,左边为西路口灯。

图3-2所示为一种红绿灯规则的状态图,分别为3-2-a,3-2-b,3-2-c,3-2-d,现在将其状态分别设定为s1,s2,s3,s4。

交通灯以这四种状态为一个周期,循环执行见图3-3。

请注意图3-2-b和图3-2-d,它们在一个时间段中四个方向都可以通车,这种状态能在一定的时间内达到较大的车流量,效率特别高。

依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于相向的灯的状态图是一样的,所以只需写出相邻路口的灯的逻辑表;根据图3-2,可以看出,相邻路口的灯它们的状态在相位上相差180°。

因此最终只需写出一组交通灯的逻辑状态表。

如表3-1所示:

图3-1标号设定

图3-2-a车辆行驶状态S1图3-2-b车辆行驶状态S2

图3-2-c车辆行驶状态S3图3-2-d车辆行驶状态S4

图3-2交通灯规则状态图

图3.3状态循环图

表3-1交通灯的循环逻辑表

S1的状态

A

B

C

D

E

F

G

H

逻辑值

显示时间

从40秒到0秒

S2的状态

A

B

C

D

E

F

G

H

逻辑值

显示时间

从30秒到0秒

S3的状态

A

B

C

D

E

F

G

H

逻辑值

显示时间

从70秒到30秒

S4的状态

A

B

C

D

E

F

G

H

逻辑值

显示时间

从30秒到0秒

表中的“×”代表是红灯亮(也代表逻辑上的0),“√”是代表绿灯亮(也代表逻辑上的1),依上表,就可以向相应的端口送逻辑值。

3.2交通灯显示时间的理论分析与计算

东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且S1、S2、S3、S4各个状态保持的时间之有严格的对应关系,其公式如下所示:

我们可以依据上述的标准来改变车辆的放行时间。

按照一般的规则,一个十字路口可分为主干道和次干道,主干道的放行时间大于次干道的放行时间,我们设定值时也应以此为参考。

第4章电路图及设计文件

4.1灯控制电路设计

红绿灯的显示采用普通的发光二极管,每个方向上设置红绿黄灯及行人灯各一个,共四组,如图4-1所示。

如果东西方向红灯亮那南北方向就是绿灯,反之亦然,所以在硬件连接图上也成对称分布。

图4-1LED控制电路

4.2倒计时显示电路设计

8段LED是一种常用的数码显示屏。

这种数码管的每个线段都是一个发光二极管,因而把它叫做LED数码管。

由于在数码管的右下角增加了一个小数点,形成了所谓的8段数码管。

本系统数码管是属于共阳极类型的数码管,只要公共端接地,其他端送上低电平就能点亮。

不仅具有工作电压低,体积小,寿命长,可靠性高等优点,而且响应时间短(一般不超过0.1微秒),亮度也比较高。

缺点是工作电流比较高,一般工作电流都在10毫安左右。

数码管的外形图和等效电路图如图4-2-a和4-2-b所示。

图4-2-a数码管外形图图4-2-b数码管等效图

LED段显示数码管的设置为每个方位上一对2位显示器。

四个方位上总共有8个LED接在单片机的I/O口上。

显示时我们不需要小数点,所以每个LED的10根管脚只用了9根。

连接后的时间显示电路,虽然路口不一样,但是显示的时间在数字上是一样的,所以两边连接的I/O口是对称的,原理图如图4-3。

4-3数码管显示

4.3违规车辆检测电路设计

在红灯和黄灯期间,车辆是禁止通行的.为了对那些违反规则的车辆进行检测,受条件限制,本系统设计中只使用了普通光敏二极管。

基本设计思路如下:

将光敏二极管放在停车线上,当车辆通过的时候,因光敏二极管给遮住,二极管就不导通,单片机检测到这一信号后就执行报警操作。

但是,显然在实际中,使用光敏二极管无法实现。

违规车辆检测电路除了使用光敏二极管,还使用了三极管,型号为9031。

由于普通的光敏二极管的开关性能不是很好,所以在设计中加个三极管做开关。

由于普通光敏二极管在导通的情况下的电阻能达到0.5—1k,所以在设计中将光敏二极管直接接上了电源。

同时三极管还可以起到一定的隔离作用。

当光敏二极管关断时,三极管的基极为低电平,基极与发射极之间电压为零,三极管关断,检测口的电压为高电平;同理,当光敏二极管导通时,三极管的基极电压为高电平,基极与发射极之间的电压为高,三极管导通,检测口的电压为低电平。

基于此就可以检测是否有车辆违章,其原理图如图4-4。

图4-4违规检测电路

第5章程序设计思路与流程图

5.1主程序流程图

主程序开始是运用定时器0来定时,达到准确记时,在往下走就走到程序的死循环部分,分别判断是哪一个状态,当是状态S1时,就用软件的方法启动S1,运行S1,及南北通行,东西禁止。

后面S2、S3、S4与S1一样,在这过程中,如果遇到突发事件,则要进行突发事件的按键处理,当突发事件处理完后,在回到主程序,其流程图如5-1图所示。

 

图5-1程序流程图

case2:

EW_ON;P1=LED[4];TR2=0;break;//南北禁行,定时器停止

case3:

SN_ON;P1=LED[4];TR2=0;break;//东西禁行,定时器停止

}

/部分主程序如下:

voidmain()

{

t=5;

TIME_Init();//定时器初始化

sec=COUNT_DOWN;//定时初值

while

(1)

{

key_scan();//按键扫描

switch(key_flag)

{

case0:

t++;if(t>=30)t=5;break;//设置时间

case1:

TR0=1;break;//恢复

case2:

EW_ON;P1=LED[4];TR0=0;break;//南北禁行,定时器停止

case3:

SN_ON;P1=LED[4];TR0=0;break;//东西禁行,定时器停止

}

//==========状态S1========

if((aspect_flag==0)&(interim_flag==0)&(key_flag=

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

当前位置:首页 > 成人教育 > 自考

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

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