模拟交通信号灯_第1页
模拟交通信号灯_第2页
模拟交通信号灯_第3页
模拟交通信号灯_第4页
模拟交通信号灯_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、项目名称:模拟交通信号灯申报者信息:(队员1:李晓 男 1992年9月1日 通信工程学院 通信工程大二 52112113 2546123295(队员2:王广聪 男 1991年 12月9日 通信工程学院 通信工程 大二 52112119 1311328021)(队员3: 曾媛 女 1992年9月28日 通信工程学院 通信工程大二 52112129 884388098)作品类别:自动控制类 一、 引言:交通的发达,标志着城市的发达,相对交通的管理则显得越来越重要。对于复杂的城市交通系统

2、,为了确保安全,保证正常的交通秩序,十字路口的信号控制必需按照一定的规律变化,以便于车辆行人能顺利地通过十字路口。考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,拟采用MCS - 51系列的单片机来实现十字路口交通信号灯的控制。 正常情况下,十字路口的红绿灯应交替变换, 以下设计中,用发光二极管来模拟信号灯,要求使用 8052定时器/ 计数器0作为定时器,假设东西为主干道,其通车时间为50S,南北为支干道,其通车时间为30 s ,要求对通行时间进行倒计时,从P1 口输出,以此来实现十字路口交通灯的指示功能。交通灯在安全行车过程中起着十分重要的作用, 现在交通灯一般设在十字路口,

3、 在醒目位置用红、绿、黄三种颜色的指示灯, 加上一个倒计时的显示计时器来控制行车, 对于一般情况下的安全行车、车辆分流发挥着作用,根据行车过程中出现的实际情况, 如何全面有效地利用交通灯指示交通情况,我们尝试用单片机来控制交通灯, 在软、硬件方面采取一些改进措施, 使交通灯在控制中灵活而有效二、 方案选择、方案确定。方案一:由普通的数字电路集成芯片组成。这种方案的特点是:硬件设计思路简单,但用元件多,电路比较复杂,焊接调试容易出错,而且不利于智能控制,调试时间电路复杂。方案二:应用 CPLD 器件。采用 CPLD 器件设计起来结构清晰,各个模块从硬件上设计起来相对简单,控制与显示模块间的连接也

4、会比较方便,但是考虑到成本,EDA在功能扩展上比较受限制,而且 EDA 占用的资源也相对多一些,从成本上来讲,用 CPLD 器件来设计没有什么优势。 方案三:应用单片机。单片机有丰富的中断源,方便本实验的时间调试,它的准确度相当高,并且 C 语言和汇编兼容的编程环境也很方便来实现一些调用。I/O 口功能也比较强大,方便使用,方便对设计进行扩展,使设计更加完善,成本也相对低一些,虽然在控制与显示的结合上有些复杂,但和前者相比用单片机设计还是比较可行的,另外,采用单片机控制,可提高电路的稳定性和可靠性,硬件电路比较简单,主要用软件控制,控制方式灵活多样,能满足不同情况下的需求。所以本次我们的设计就

5、是用单片机来辅助完成的。三、 理论分析与方案设计(一) 设计一个交通信号灯控制器,由一条东西主干道和南北支干道会合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁止线外。(二) 主干道允许通行的时间为45秒,另外支干道允许通行的时间为25秒。主干道亮绿灯,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。设立45秒、30秒倒计时、显示电路。(三) 每次由绿灯到红灯的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,这样一来主支干道亮红灯的时间便都增加了5秒,即主干道红灯30秒,支干道红灯50秒,另外在亮黄灯时设立5

6、秒倒计时、显示电路。(四) 整体设计思路:作为一个交叉路口交通信号灯控制器,其东西、南北两个方向除了设置红、黄、绿3盏信号灯指示是否允许通行外,还设有数码管以倒计时方式显示 每条路允许通行或禁止通行的时间。东西、南北两个方向各种信号灯的亮、灭时间能非常方便地进行设置和修改,使控制器既可用于两方向通行时间相同的普通交叉路口,也可通过参数的设置或修改用于通行时间不同的主辅路口。正常运行时,交通等亮灯的状态转换如表所示。不断循环,黄灯用于亮红灯前进行缓冲,提示该方向即将禁行。(五) 交通灯控制系统状态表状态主干道支干道时间S0绿灯亮,允许通行红灯亮,禁止通行45秒S1黄灯亮,停车红灯亮,禁止通行5秒

7、S2红灯亮,禁止通行绿灯亮,允许通行25秒S3红灯亮,禁止通行黄灯亮,停车5秒(六) 程序流程图四、 元件列表名称数量元件说明单片机最小系统板一个主体为89C52型单片机发光二极管12个红色,黄色,绿色各4个一位LED数字显示器4个分段式数字显示器(共阳极)电阻12个510欧,39欧74ls021个或非门驱动数码管五、系统设计 (一)系统的组成 本设计利用单片机最小系统设计交通控制器。主要元器件是单片机 89c52, 由它控制车辆通行时显与交通信号显示控制。主要由单片机、时间显示电路、信号灯控制五部分组成。各部分关系如下图。(二)部分电路设计 1、时间显示电路 在单片机应用系统中通常使用由四个

8、LED 器件组成的七段LED显示器,其中四个LED 构成七笔字形,如图 所示,其接法共有两种:共阴极与共阳极,前者是输入高电平有效(LED 发光),后者是输入低电平有效。其工作原理是:控制其中各段 LED 的亮与暗即可显示出相应的数字、字母或符号。在这里我们用的是共阳极数码管,采用动态显示。2、89C52单片机 89C52提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,32个I/O线,3个16位定时/计时器,一个6向量两极中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,89C52可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的

9、工作,但允许RAM,定时/计时器,串行通信口及终端系统继续工作,掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。其管脚如图所示:3、时钟定时控制部件由于STC89c52单片机内部有一个用于构成振荡器的高增益反向放大电路,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在两引脚外接时钟源可构成时钟电路,该电路采用的是内部方式,如图所示:在这里我们用的是单片机最小系统板,时钟电路已经焊上,我们用的晶振器是12MHZ。4、上电自动复位电路复位电路有两种,一种是上电自动复位,另一种是手动开关复位电路。在这里我们用的是单片机最小系统板,复位电路已经焊上,采用

10、的是上电自动复位。如图所示:5、红绿黄灯显示电路红绿黄灯显示电路如图所示,二极管的正极接+5V的电源VCC,负极经过一个电阻分别与单片机的外部接口P1.0到P1.5相连,我们可以通过控制单片机P1口的数据输出来控制二极管亮灭。(三)系统整体电路图六、程序源代码#include #define uchar unsigned char #define unit unsighed intUchar code dispcode=0x88,0xdb,0x94,0x91,0xc3,0xa1,0xa0,0x9b,0x80,0x81; uchar second=45,5,25,5; uchar code ta

11、ble=0xf3,0xf5,0xde,0xee; sbit P20=P20; sbit P21=P21; sbit P22=P22; sbit P23=P23; uchar tcount; uchar time; uchar order; void delay( int ms ) int ti; while(ms-) for(ti;ti112;ti+) void main(void)P0=0xff;P1=0xff;P2=0xff;P3=0xff;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;ET0=1;EA=1;orde

12、r=0;tcount=0;time=secondorder;P1=table0;P20=0;P21=1;P22=1;P23=1;P0=dispcodetime/10; delay(8); P0=0xff; P20=1;P21=0;P22=1;P23=1; P0=dispcode(time+5)%10; delay(8); P0=0xff; P20=1;P21=1;P22=0;P23=1; P0=dispcodetime/10; delay(8); P0=0xff; P20=1;P21=1;P22=1;P23=0; P0=dispcode(time+5)%10; delay(8); P0=0xf

13、f; while(1) switch(order)case 0:/case0P1=table0;P20=0;P21=1;P22=1;P23=1;P0=dispcodetime/10;delay(8);P0=0xff;P20=1;P21=0;P22=1;P23=1; P0=dispcodetime%10;delay(8);P0=0xff;P20=1;P21=1;P22=0;P23=1; P0=dispcode(time+5)/10;delay(8);P0=0xff;P20=1;P21=1;P22=1;P23=0; P0=dispcode(time+5)%10;delay(8);P0=0xff;b

14、reak;case 1: /case1P1=table1;P20=0;P21=1;P22=1;P23=1; P0=dispcodetime/10;delay(8);P0=0xff;P20=1;P21=0;P22=1;P23=1;P0=dispcodetime%10;delay(8);P0=0xff;P20=1;P21=1;P22=0;P23=1;P0=dispcodetime/10;delay(8);P0=0xff;P20=1;P21=1;P22=1;P23=0; P0=dispcodetime%10;delay(8);P0=0xff;break;case 2: /case2 P1=table

15、2;P20=0;P21=1;P22=1;P23=1;P0=dispcode(time+5)/10;delay(8);P0=0xff;P20=1;P21=0;P22=1;P23=1;P0=dispcode(time+5)%10;delay(8);P0=0xff;P20=1;P21=1;P22=0;P23=1; P0=dispcodetime/10;delay(8);P0=0xff;P20=1;P21=1;P22=1;P23=0;P0=dispcodetime%10;delay(8);P0=0xff;break;case 3: /case 3P1=table3;P20=0;P21=1;P22=1;

16、P23=1;P0=dispcodetime/10;delay(8);P0=0xff;P20=1;P21=0;P22=1;P23=1;P0=dispcodetime/10;delay(8);P0=0xff;P20=1;P21=1;P22=0;P23=1;P0=dispcodetime%10;delay(8);P0=0xff;P20=1;P21=1;P22=1;P23=0;P0=dispcodetime%10;delay(8);P0=0xff;break; void t0(void) interrupt 1 using 0tcount+;if(tcount=20)tcount=0;time-;TH

17、0=(65536-50000)/256;TL0=1;if(time=0)if(order=3)order=0;elseorder+;time=secondorder;七、系统调试1、 硬件调试:按照已经设计好的电路图,在万能电路板上焊接各个元件。电路板制作完成以后,利用万用表检查硬件是否焊接正常以及是否出现短路和断路的情况,并修改焊接中的错误,直到硬件电路可以正常工作为止。在第一次进行检测时发现显示管显示数据紊乱,经过进一步检查才发现是电阻过大,导致流过数码管的电流过小,排线茶饭,两输出线接在了一起。如此反复操作,直到硬件可以正常运行。2、 软件调试:程序编好后。先自己检查是否有逻辑错误,出现

18、错误时Keil系统会自动提示有错误产生,并会指定错误的语句,这是我们需要认真检查程序,修改编译中出现的错误。程序修改无误后,我们将程序烧好后,放入单片机内,连好电路,看红黄绿二极管以及数码管是否显示正确,是否能实现预定的控制功能。八、结论。在单片机开发设计初期,我们对软件和硬件的结合设计都未曾涉猎过,但我们队员之前都有看这方面的书,查看这方面的资料,在整个设计过程中我们对整个过程进行规划、分工。在设计过程中,借阅书籍,上网查阅资料,针对设计内容的要求,既巩固和熟悉了以前所学的专业基础知识,又提高了我们的实践能力。在硬件和软件的组合上打破了零涉猎的状态。同时在设计过程中逐渐地对电子设计也产生了兴趣,最后比较成功的完成了这次电子系统设计实验,达到了预期的效果。实验中我们也遇到了不少的困难,也出现了一些错误。尤其是最后的硬件 调试时,出现了一些意想不到的情况,在各位成员的耐心检

温馨提示

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

评论

0/150

提交评论