交通灯设计.docx
- 文档编号:11883093
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:21
- 大小:304.01KB
交通灯设计.docx
《交通灯设计.docx》由会员分享,可在线阅读,更多相关《交通灯设计.docx(21页珍藏版)》请在冰豆网上搜索。
交通灯设计
YibinUniversity
电子信息科学与技术专业
本科生专题设计报告
题目交通灯设计
专业电子信息科学与技术
学生姓名李园、陈丽萍、杨亮、吝加强
年级09班级2、3
指导教师张桐职称
2012年5月10日
摘要
自从1858年英国人,发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。
近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。
本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。
从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
本模拟系统由单片机硬/软件系统,一位8段数码管和LED灯显示系统。
和复位电路控制电路等组成,较好的模拟了交通路面的控制。
关键词:
交通灯单片机数码管
目录
摘要I
引言1
1.专题设计任务2
1.1设计要求:
2
1.2基本技术要求2
2.设计思路2
3.单片机交通控制系统方案的比较、设计与论证3
3.1电源提供方案3
3.2显示界面方案3
3.3输入方案3
4.单片机概述4
5.芯片简介4
5.1MSC-51芯片简介4
5.274HC573简介8
5.3数码管简介9
6.系统硬件设计11
6.1交通管理的方案论证11
6.2系统硬件设计11
6.2.1系统总框图12
6.2.2系统工作原理12
6.2.3电路仿真图12
6.2.4电路原理图12
6.2.5PCB图13
6.2.6实物13
7.控制器的软件设计13
7.1每秒钟的设定13
7.1.11秒的设定方法13
7.1.2相应程序代码13
7.2时间及信号灯的显示14
7.2.1显示原理:
14
7.4C语言程序15
8.结果分析15
9.致谢16
10参考文献16
11附录17
附录一仿真图17
附录二原理图18
附录三PCB18
附录四实物照片19
引言
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1968年,美国机械工程师纳伊特在伦敦威斯敏斯特的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两种旋转式方形提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的透光其组成,1914年安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制得红绿灯,一种是把压力探测器放在地上,车辆一接近红灯变成绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下喇叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直走,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法的正在路口内行驶的车辆和过人行道的行人先通过,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
1.专题设计任务
1.1设计要求:
用单片机最小系统构成一个交通灯系统,基本要求如下:
1.选择合适的LED灯和单片机芯片。
2.设计单片机和红、黄、绿三个信号的接口电路
3.软件设计实现正常交通。
1.2基本技术要求
一、供电直流稳压电源的各项技术指标:
① 输入电压:
50Hz② 输出电压:
5V③ 输出电流:
≥1A④ 电压调整率:
≤7mV(测试条件I=500mA)⑤ 电流调整率:
≤25mV(测试条件10mA≤I≤1.5A)
二、交通灯控制器的基本技术指标:
1.红绿灯亮三秒,黄灯闪烁1秒,然后切换。
2.设计思路
(1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。
(2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能.
(3)进行软件系统的设计,对于本系统,本人采用单片机C语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。
3.单片机交通控制系统方案的比较、设计与论证
3.1电源提供方案
为使模块稳定工作,须有可靠电源。
因此考虑了两种电源方案:
方案一:
采用独立的稳压电源。
此方案的优点是稳定可靠,且有各种成熟
电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:
采用单片机控制模块提供电源。
改方案的优点是系统简明扼要,
节约成本;缺点是输出功率不高。
综上所述,我选择第二种方案。
3.2显示界面方案
该系统要求完成计时功能。
基于上述原因,我考虑了二种方案:
方案一:
采用数码管显示。
这种方案只显示有限的符号和数码字符,简单,方便。
方案二:
采用点阵式LED显示。
这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。
综上所述,我选择第一种方案。
3.3输入方案
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用.
4.单片机概述
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
5.芯片简介
5.1MSC-51芯片简介
MCS-51单片机内部结构
8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
·中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(RAM)
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
图1
·程序存储器(ROM):
8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
·定时/计数器(ROM):
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系列单片机则采用普林斯顿结构。
下图是MCS-51系列单片机的内部结构示意图2。
图2
MCS-51的引脚说明:
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
MCS-51的引脚说明:
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
如图3
图3
Pin9:
RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。
8051的复位方式可以是自动复位,也可以是手动复位,见下图4。
此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
图4
·Pin30:
ALE/
当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。
而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。
更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。
如果单片机是EPROM,在编程其间,
将用于输入编程脉冲。
·Pin29:
当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。
·Pin31:
EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。
如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。
显然,对内部无程序存储器的8031,EA端必须接地。
在编程时,EA/Vpp脚还需加上21V的编程电压。
5.274HC573简介
SL74HC573跟LS/AL573的管脚一样。
器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。
当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。
当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
输出能直接接到CMOS,NMOS和TTL接口上操作电压范围:
2.0V~6.0V低输入电流:
1.0uACMOS器件的高噪声抵抗特性。
图5管脚功能图
74HC573功能表:
5.3数码管简介
LED数码管是由发光二极管构成的,亦称半导体数码管。
将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就构成了LED数码管。
若按规定使某些笔段上的发光二极管发光,就能显示从0~9的…系列数字。
同荧光数码管(VFD)、辉光数码管(NRT)相比,它具有:
体积小、功耗低、耐震动、寿命长、亮度高、单色性好、发光响应的时间短,能与TTL、CMOS电路兼容等的数显器件。
a~g是7个笔段电极,DP为小数点。
另有一种字高为7.6mm的超小型LED数码管,管脚从左右两排引出,小数点则是独立的。
表1.1显示数字对应的二进制电平信号
LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。
A、静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD码二-十进位转换器进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5×8=40根I/O口来驱动,要知道一个89S51单片机可用的I/O口才32个呢。
故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。
B、动态显示驱动:
数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
6.系统硬件设计
6.1交通管理的方案论证
东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。
(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。
时间为3秒。
(2)黄灯闪烁1秒,警示车辆和行人红、绿灯的状态即将切换。
(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。
时间为3秒。
6.2系统硬件设计
选用AT89C51单片机,芯片74LS373,一个LED数码管,红、黄、绿交通灯各两个,开关键盘、连线若干。
6.2.1系统总框图
6.2.2系统工作原理
(1)由8051的P0口显示红、绿、黄灯的燃亮情况;由8051的P1口通过74LS373来控制数码管,从而显示每个灯的燃亮时间。
(2)通过设置,绿、红信号灯的燃亮时间时间分别为3秒、3秒循环。
黄灯闪烁1秒。
(3)当南北方向黄灯闪烁时间完毕,重新循环。
6.2.3电路仿真图
见附录一
6.2.4电路原理图
见附录二
6.2.5PCB图
见附录三
6.2.6实物
见附录四
7.控制器的软件设计
7.1每秒钟的设定
延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。
7.1.11秒的设定方法
我们采用在主程序中设定一个使T0定时50毫秒.这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。
在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。
为零表示1秒已到可以返回到输出时间显示程序。
7.1.2相应程序代码
定时器需定时50毫秒,故T0工作于方式1。
初值:
TC=M-T/T计数 =216 -50ms/1us=15536=3CBOH
即TH0=0x3c,TL0=0xb0
//---------------------初始化T0函数--------------------------
voidtime0(void)interrupt1/*定时器T0服务子程序*/
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
int_num++;
}
//---------------------定时器函数--------------------------
voidinter_init()/*定时器初始化子函数*/
{
EA=1;
ET0=1;/*打开定时器T0*/
TMOD=0x01;/*工作方式1*/
//TCON=0x00;/*触发方式*/
//IP=0x01;/*中断优先级别,T0优先*/
TH0=(65535-50000)/256;/*置初值,大约50ms一个中断*/
TL0=(65535-50000)%256;
TR0=1;/*置位TR0,启动定时器0*/
}
7.2时间及信号灯的显示
7.2.1显示原理:
当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值,重新进入循环。
7.2.280C51P0口输出信号接发光二极管
由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光,所以可以用置位方法点亮红,绿,黄发光二极管。
7.2.389C51P1口输出信号与数码管的连接
LED灯的显示原理:
通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形。
其中Q0-a,
Q1-b,
Q2-c,
Q3-d,
Q4-e,
Q5-f,
Q6-g
Q7–dp
显示数值
dpgfedcba
驱动代码(16进制)
0
11111110
FDH
1
01100001
61H
2
11101011
DBH
3
11110011
F3H
4
01100110
66H
5
01101100
6DH
6
01111100
7DH
7
00000111
07H
8
01111111
7FH
表3驱动代码表
7.4C语言程序
见附录五
8.结果分析
将整体电路通电,把写好的测试程序刷写到芯片内,观察一个周期灯的显示状态是否正常。
经观察得出,实验结果很理想,达到了最初的设计要求。
通过本次的课程设计,充分意识到自己所学的东西还是非常有限的,不过通过设计,还是学到了一些书本上没有学到的东西,为自己以后的学习起了很大的帮助。
就我个人而言,很深刻地体会到一点,那就是我们在设计过程中一定要有一个整体的清晰的思路,知道自己的设计的对象的基本功能和核心器件的适用及其作用,只要把握住这些主要方面,一些小问题都将围绕着这些主要问题而逐步得到解决。
同时我也懂得,在整个设计过程中,生活中也一样,一定要意志坚定,克服自己的畏难情绪,这样才能将事情做好,才能干出一番成就。
9致谢
通过本次专题设计,我在指导老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,并对当前电子领域的研究状态和发展情况有了一定的了解。
在此,我要像张桐老师表示最衷心的感谢。
同样,我也很感谢和我一组的同学,也谢谢其他同学对我的帮助和支持。
在未来的学习中,我将以更好的成绩来回报老师和同学。
10参考文献
张毅刚单片机原理及接口技术北京人民邮电出版社2008
潘新民微型计算机控制技术第二版电子工业出版社2010
谭浩强C程序设计第三版清华大学出版社2005
马忠梅.单片机的C语言应用程序设计【M】北京航空航天大学出版社.1999谭浩强.单片机课程设计.北京:
清华大学出版社,1989.
李朝青.单片机原理及接口技术(修订版)北京航空航天大学出版社,1998.
李广弟.单片机基础.北京:
北京航空航天大学出版社,1992.
何立民.单片机应用技术大全.北京:
北京航空航天大学出版社,1994.
张毅刚.单片机原理及接口技术.哈尔滨:
哈尔滨工业大学出版社,1990.
11.附录
附录一仿真图
附录二原理图
附录三PCB
附录四实物照片
附录五实验程序
#include
#defineucharunsignedchar/*宏定义*/
#defineuintunsignedint/*宏定义*/
ucharn,Operation_Type=1;
Flash_Count=0;
ucharint_num;/*定时溢出作用标号*/
sbitRED_A=P1^0;
sbitYELLOW_A=P1^1;
sbitGREEN_A=P1^2;
sbitRED_B=P1^3;
sbitYELLOW_B=P1^4;
sbitGREEN_B=P1^5;
sbitwela=P3^7;
voidDelayMS(uintx);
ucharcodetable[10]={0xfd,0x61,0xdb,0xf3,0x66,0x6d};
//---------------------初始化T0函数--------------------------
voidtime0(void)interrupt1/*定时器T0服务子程序*/
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
int_num++;
}
//---------------------定时器函数--------------------------
voidinter_init()/*定时器初始化子函数*/
{
EA=1;
ET0=1;/*打开定时器T0*/
TMOD=0x01;/*工作方式1*/
//TCON=0x00;/*触发方式*/
//IP=0x01;/*中断优先级别,T0优先*/
TH0=(65535-50000)/256;/*置初值,大约50ms一个中断*/
TL0=(65535-50000)%256;
TR0=1;/*置位TR0,启动定时器0*/
}
//---------------------交通灯变换--------------------------
vo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 设计