单片机的交通灯控制的设计_第1页
单片机的交通灯控制的设计_第2页
单片机的交通灯控制的设计_第3页
单片机的交通灯控制的设计_第4页
单片机的交通灯控制的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、乌鲁木齐职业大学 毕 业 设 计(论 文)系 (院): 信息工程学院 专 业 : 电子信息工程 班 级 : 1007班 学生姓名 : 卢丹 学 号 : 课 题 : 单片机的交通灯控制的设计 指导教师 : 况喻 2013年 4 月10日目录引言 .21 课题背景与方案设计.3 1.1 交通灯研究的背景和意义.3 1.2 总体设计方案.42 单片机概述.5 2.1 单片机的发展历程.5 2.2 单片机的特点.5 2.3 ATSC51单片机简介.63 系统硬件设计.7 3.1 系统总框图.7 3.2 控制流程分析.8 3.3 时钟电路.8 3.4 复位电路.9 3.5 显示电路.10 3.5.1 L

2、ED数码管显示器.10 3.5.2 共阴极数码管与共阳极数码管.10 3.5.3 数码管共阴与共阳的驱动电路.12 3.6 电路原理图.13 3.6.1 原理图.13 3.6.2 整体电路连接.144 控制器软件流程图.14 4.1 主程序流程图.145 程序源代码.176 程序运行仿真图.207 实物拍摄.22结论.23致谢 .24参考文献.25单片机的交通灯控制的设计摘 要: 随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以

3、完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。 关键词: 单片机,交通灯,闯红灯,数码管,检测车流量引 言

4、: 随着人口的快速增多,交通工具的爆炸性的发展,以及道路资源的有限性,交通控制就应运而生,而人类的生活、工作环境中,交通扮演者极其重要的角色,人们的出行都无时不刻与交通打着交道。我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。随着

5、电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。显然,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。当今,红绿灯安装在各个道口上,已

6、经成为疏导交通车辆最常见和最有效的手段。1 课题背景与方案设计1.1 交通灯研究的背景和意义随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据检测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。 交通灯是城市经济活动的命脉,对城市经济发展、人民生活水平的提高起着十分重要的作用。城市交通问题是困扰城市发展、制约城市经济将设的重要因素。城市道路增长的有限与车辆增加的无限这一对矛盾事故导致城市交通拥挤的根本原因。城市街道网络上的交通容量的不断增加,

7、表明车辆对道路容量的要求仍然很高,短期内还不可能改变。自从开始使用计算机控制系统后,不管在控制硬件里取得什么样的实际发展,交通控制领域的控制逻辑方面始终没能取得重大突破。 可以肯定的说,对于减轻交通拥塞及其副作用特别是对于大的交通网络而言,仍然缺乏一种真正的交通响应控制策略。计算机硬件能力与控制软件能力很不相符,由此造成的影响是很多交通控制策略根本不能实现。在少数几个例子中,一些新的控制策略确实能得以实现,但他们却没能对早期的控制策略进行改进。由于缺乏能提高交通状况、特别是缺乏拥塞网络交通状况的实时控制策略,几乎可以说真正成熟的控制策略仍然不存在。智能化和集成化是城市交通信号控制系统的发展趋势

8、和研究前沿,而针对交通系统规模复杂性特征的控制结构和针对城市交通瓶颈问题并代表智能决策的阻塞处理则是智能交通控制优化管理的关键和突破口。因此,研究基于智能集成的城市交通信号控制系统具有相当的学术价值和实用价值。把智能控制引入到城市交通控制系统中,未来的城市交通控制系统才能适应城市交通的发展。从长远来看,该研究具有巨大的现实意义。1.2 总体设计方案在城市道路中有大量的平面交叉路口,它们是交通流的汇集点和分流点。正是由于这些交叉路口的存在,才形成了四通八达的交通网络,而平面交叉路口又往往是事故高发地带。本设计模拟的是十字路口方案,即一主干道(南北方向),一从干道(东西方向)的路口(1)。如图1-

9、1。北东南西图1-1 十字形路口本系统需要采用MSC-51系列单片机ATSC51作为中心器件,设计交通灯控制器实现:直行红绿灯、左转红绿灯的显示以及红绿灯转换倒计时显示。具体通行设计方案:第一阶段:初始运行开始,南北方向直行绿灯亮,左转灯红灯亮,东西方向直行与左转灯红灯亮。数码管40秒倒计时,此时行人可通过东西路。第二阶段:倒计时结束,红绿灯变换时间间隔为一秒。南北方向左转绿灯亮,直行灯红灯亮,东西方向直行与左转灯红灯亮。数码管20秒倒计时,行人禁行。第三阶段:倒计时结束,红绿灯变换时间间隔为一秒。东西方向直行绿灯亮,左转灯红灯亮,南北方向直行与左转灯红灯亮。数码管40秒倒计时,此时行人可通过

10、南北路。第四阶段:倒计时结束,红绿灯变换时间间隔为一秒。东西方向左转绿灯亮,直行灯红灯亮,南北方向直行与左转灯红灯亮。数码管20秒倒计时,行人禁行。倒计时结束。返回第一阶段继续循环。运行过程中可通过复位电路开关将运行状态复位至第一阶段初始状态。2 单片机概述2.1 单片机的发展历程 以8位单片机的推出作为起点,单片机的发展历史大致可分为以下几个阶段: 第一阶段(1976-1978):单片机的控索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的控索,参与这一控索的公司还有Motorola 、Zilog,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而

11、来。第二阶段(1978-1982):单片机的完善阶段。Intel公司在MCS-48 基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口。 CPU外围功能单元的集中管理模式(2)。 体现工控特性的位地址空间及位操作方式。 指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。第三阶段第三阶段第三阶段第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶

12、段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS-51系列的广应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。第四阶段第四阶段第四阶段第四阶段(1990现在):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。2.2 单片机的特点(1)性价比高,

13、开发周期短,易于产品化,(2)集成度高,可靠性好,抗干扰性强,(3)功能完善,接口多样,(4)低功耗、低电压 一般电源供电电压在53V范围内单片机都能正常工作,供电的下限12V。(5)总线多样,易于扩展单片机外部的典型三总线结构,方便系统构扩展,构成各种规模的应用系统。外部总线增加了I2C及SPI等串行总线方式, 可根据需要进行并行或者串行扩展。2.3 ATSC51单片机简介 MCS-51单片机内部结构8051是MCS-51系列单片机的典型产品,包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总

14、线,现在我们分别加以说明:中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 下图是MCS-51系列单片机的内部结构示意图2-1(3).图2-1 MCS-51结构框图3 系统硬件设计3.1

15、系统总框图图 3-1 系统框图3.2 控制流程分析(1)东西、南北方向提醒信号灯变化的各倒计时显示只需要同一种倒计时显示配合信号灯的变化即可起到警示过往车辆的功能。在现实中共有东西南北四个方向共有四个倒计时显示的数码管。模拟电路中,为了节省花费我们只设置了一个数码管显示。而如果需要其余三个数码管只需并联按照与此数码管相同的接法接到相应端口即可。(2)东西、南北方向信号灯控制是中心对称的,即两侧系统对同方向的信号灯控制是同步的。模拟电路中,我们同一方向只设置了一组信号灯,即可实现模拟的功能。现实中需要同一方向另一组信号灯的时候。只需要并联按照前一组信号灯的接法接入电路相应端口即可。3.3 时钟电

16、路时钟电路一般由晶体震荡器、晶震控制芯片和电容组成。可以简单定义如下: (1)就是产生像时钟一样准确的振荡电路。 (2)任何工作都按时间顺序。用于产生这个时间的电路就是时钟电路。单片机运行需要时钟支持就像计算机的CPU一样,如果没有时钟电路来产生时钟驱动单片机,那单片机就不能执行程序。单片机可以看成是在时钟驱动下的时序逻辑电路。时钟电路是计算机的心脏,它控制着计算机的工作节奏。CPU就是通过复杂的时序电路完成不同的指令功能的。MCS5l的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号;另一种为外部方式,时钟信号由外部引入。分别如图所示(4)。图3-2 内部时钟

17、方式 外部时钟方式ATSC51单片机内部有一个用于构成振荡器的高增益反向放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。如图3-3所示(C1、C2大小一般为30pF)。图3-3 时钟电路3.4 复位电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。RESET/Vpd是复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它

18、专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失(5)。图3-4 上电自动复位 手动复位电路3.5 显示电路3.5.1 LED数码管显示器显示电路采用LED数码管显示器动态倒计时显示。现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件。但是其成本比较高,二位一体数码管显示器成本低廉,且易于控制,制作方便

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

20、在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。3.5.2 共阴极数码管与共阳极数码管数码管分共阴极数码管与共阳极数码管。数码管分共阴极数码管与共阳极数码管。它们的发光原理是一样的,只是它们的电源极性不同而已。图3-5例举的是共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。LED数码管原理图示意(6):图3-5 引脚示意图 从上图可以看出,要是数码管

21、显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。  共阳极LED数码管的内部结构原理图图3-6所示(7): 图3-6 共阳极LED数码管的内部结构原理图 共阴极LED数码管的内部结构原理图图3-7:图3-7 共阴极LED数码管的内部结构原理图以下为如何测试数码管是共阴极还是共阳极的方法。首先,我们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后GND不动,VCC(串电阻)逐个碰剩下的

22、脚,如果有多个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极(8)。3.5.3 数码管共阴与共阳的驱动电路如果想使得数码管亮,在实际操作中需要接一个驱动电路。 共阴极数码管的驱动电路(图A)以及共阳极数码管(图B)的驱动电路。分别如下图3-8(9)。 图A 图B图3-8 共阴/阳极数码管的驱动电路3.6 电路原理图3.6.1 原理图(10)3.6.2 整体电路连接(11)图3-10 整体电路连接其中各LED灯分别为:D1代表南北方向直行的绿灯。D2代表

23、南北方向直行的红灯。D3代表南北方向左转的绿灯。D4代表南北方向左转的红灯。D5代表东西方向直行的绿灯。D6代表东西方向直行的红灯。D7代表东西方向左转的绿灯。D8代表东西方向左转的红灯。4 软件流程图4.1主程序流程图(12)开始初始化等待盘事件键键盘事件处理显示程序处理5 程序源代码#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39

24、,0x5e,0x79,0x71;/数码管码表(13)#define status1 0x56#define status2 0x59#define status3 0x6a#define status4 0x9a#define seg1 0xfe#define seg2 0xfduint tt,displaytime;int time;uchar nodisplay_flag; void delay(uint);/延时函数声明void display(uint);/LED显示函数声明void init();/单片机初始化函数声明void main() init();while(1)/大循环 i

25、f(tt=20) tt=0;nodisplay_flag=0;time-;if(time>=83)&&(time<=123) P1=status1; displaytime=time-83; if(time>=62)&&(time<=82) P1=status2; displaytime=time-62; if(time>=21)&&(time<=61) P1=status3; displaytime=time-21;if(time>=0)&&(time<=20) P1=status

26、4; displaytime=time; if(time=0) time=124;if(nodisplay_flag!=1) display(displaytime);void delay(uint z) /延时函数延时大约Z毫秒 uint x,y;for(x=z;x>0;x-)for(y=120;y>0;y-); void display(uint x) /显示 P0=0xff; P2=tablex/10; P0=seg1; delay(5); P0=0xff; P2=tablex%10; P0=seg2; delay(5); void init() /初始化函数 tt=0;no

27、display_flag=1;time=124;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256; EA=1;ET0=1;TR0=1;P0=0xff; void timer0() interrupt 1/定时中断周期50MS TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt+; 6 程序运行仿真图(14)图6-1 第一阶段图6-2 第二阶段图6-3 第三阶段图6-4 第四阶段7 实物拍摄(15) 7-1 LED交通指示灯 7-2 LED交通信号灯结论本系统设计了一个十字形路口,通过充分利用了A

28、TSC51芯片的I/O引脚来完成交通灯控制系统。系统统采用MSC-51系列单片机ATSC51来设计交通灯控制器,实现了能通过单片机的P1口设置红、绿灯燃亮时间的功能以及红绿灯循环点亮。 这次毕业设计,不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。在完成毕业设计的过程中,我不断的翻阅资料,通过一次次的努力,终于将这次毕业设计完成,不仅

29、知识上得到一个很大的提升,同时心里的成就感也不由而生。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。总而言之,这次毕业设计使我得到了一次用专业知识、专业技能分析、实际动手能力和解决问题全面系统的锻炼,同时也使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是C语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。致 谢这次毕业设计,首先要感谢的使我们的指导

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论