第一范文网 - 专业文章范例文档资料分享平台

基于单片机的交通信号灯控制系统设计完整版

来源:用户分享 时间:2025/6/14 22:15:17 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

目 录

中文摘要·····································································································Ⅰ 1. 引言········································································································1 2. 设计任务及思路························································································1 3. 单片机·····································································································3 3.1 单片机简介·····························································································3 3.2 单片机基本结构 ·····················································································3 3.3 单片机硬件特性 ·····················································································3 4. 芯片的选择······························································································4 4.1 74LS373以及74LS07芯片简介···································································4 4.2 8255芯片·······························································································5 4.2.1 8255可编程并行接口芯片简介·······························································5 4.2.2 8255可编程并行接口芯片方式控制字格式说明·········································5 4.3 晶闸管···································································································7 5. 交通灯控制原理分析及方案论证·································································8 6. 系统硬件设计···························································································9 6.1 总体设计································································································9 6.2 单片机最小系统······················································································9 6.2.1 振荡电路·····························································································9 6.2.2 复位电路···························································································10 6.3 显示及其驱动模块·················································································11 6.3.1 键盘与状态显示功能···········································································11 6.3.2 倒计时计数功能·················································································11 7. 系统软件设计·························································································12 7.1 延时程序设计························································································12 7.1.1 计数器硬件延时·················································································12 7.1.2 软件延时···························································································13 7.2 时间及信号灯的显示··············································································14 7.2.1 8031并行口的扩展·············································································14

1

2.设计任务及思路

设计一个能够控制十二盏交通信号灯的模拟系统。通过交通信号灯控制系统的设计。

系统工作受开关控制,起动开关 ON 则系统工作;起动开关 OFF 则系统停止工作。控制对象如下:

东西方向红灯两个 , 南北方向红灯两个, 东西方向黄灯两个 , 南北方向黄灯两个, 东西方向绿灯两个 , 南北方向绿灯两个,

西

图1 交通信号示意 北东

南十字路口东西方向和南北方向各装有直行(包括右拐弯)控制红、黄、绿交通信号灯(如图1所示)。还有倒计时显示器,显示器用于显示相应方向直行控制当前点亮信号灯还要持续的时间(即剩余时间)。系统中有两个按钮-启动和停止,启动按钮按下后信号灯系统开始工作,并周而复始地循环;停止按钮按下,所有信号灯都熄灭。信号灯的控制规律如表1所示。即系统启动后,东西方向先绿灯亮25s,然后绿灯闪烁3s,最后黄灯亮2s,与此同时南北方向红灯亮30s。南北方向红灯亮30s后转为先绿灯亮25s,然后绿灯闪烁3s,最后黄灯亮2s,东西向红灯亮30s。由此周而复始地循环。要求采用单片机实现交通灯的控制规律。

2

表1 信号灯控制规律

东西方向 信号 时间 南北方向 信号 时间 绿灯亮 25s 绿灯闪烁 3s 红灯亮 30s 黄灯亮 2s 绿灯亮 25s 红灯亮 30s 绿灯闪烁 3s 黄灯亮 2s 设计电路中使用到的主要元器件,单片机芯片、8255芯片和晶闸管。十字路口分四条道,每条道有三个红绿灯,共十二个。每个红绿灯由一块8031芯片单独控制,我们只设计一个红绿灯的燃亮情况,同理根据燃亮顺序设计其它红绿灯。然后再组合起来,达到设计要求。

3.单片机

3.1单片机简介

单片机是一种集成电路芯片,简称为单片微型计算机。是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU,随机存储器RAM,只读存储器ROM,多种I\\0口和中断系统,定时器,计时器等功能,集成在一块硅片上构成的一个小而完善

的计算机系统。

3.2单片机基本结构

单片机由运算器,控制器,存储器,输入输出设备组成。

3.3单片机硬件特性

(1)单片机集成度很高,单片机包括CPU、4KB容量的ROM(8031无)、128B容量的RAM、2个16定时计时器、4个8位并行口、全双工串口行口。 (2)单片机系统结构简单,使用方便,实现了模块化。 (3)单片机可靠性能好,可工作很长时间。 (4)处理功能强,速度快

3

4.芯片的选择

4.1 74LS373以及74LS07简介

74LS373 是一种带三态门的8D锁存器,其管脚示意图2如下所示:

图2 74LS373管脚示意图

其中:1D-8D为8个输入端。

1Q-8Q为8个输出端。

LE为数据打入端:当LE为“1”时,锁存器输出 状态同输入状态;当LE由“1”变“0”时,数据 打入锁存器

OE为输出允许端;当OE=0时,三态门打开; 当OE=1时,三态门关闭,输出高阻。 六驱动器(OC高压输出) 74LS07

Vcc 6A 6Y 5A 5Y ┌┴─┴─┴─┴─┴─┴─┴┐

│14 13 12 11 10 9 Y = A ) │ 1 2 3 4 5 6 └┬─┬─┬─┬─┬─┬─┬┘7805实现正电压输出,负电压截止。

4

4A 4

8│ │

7│

4.2 8255芯片

4.2.1 8255可编程并行接口芯片简介

8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。8255的内部组成框图如 图3所示:

图3 8255内部组成框图

4.2.2 8255可编程并行接口芯片方式控制字格式说明

8255有两种控制命令字:一个是方式选择控制字;另一个是C口按位置位/复位控制字。其中C口按位置位/复位控制字方式使用较为繁难,说明也较冗长,故在 此不作叙述。方式控制字格式说明如图4所示:

5

图4 8255方式控制字

方式0:基本输入/输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。方式0适合于两种情况:一种是

无条件传送,另一种是查询方式传送。

方式1:选通输入/输出方式。这时A口或B口的8位外设线用作输入或输出, C口的4条线中三条用作数据传输的联络信号和中断请求信号。

方式2 :双向选通输入/输出方式。只有A口具备双向选通输入/输出方式,8位外设线用作输入或输出。

6

5.交通灯控制原理分析与方案论证

本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。系统总体设计框图如图8所示:

键盘 与状 态显 示 倒 计 时 图8 系统总体设计

单 片 机 最 小 系 统 交 通 灯 1.电源提供方案

为使模块稳定工作,须有可靠电源。本次设计考虑了两种电源方案:

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

方案二:采用单片机控制模块提供电源。该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。

综上所述,选择第二种方案。 2.显示界面方案

该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案: 方案一:完全采用点阵式LED显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。

方案二:完全采用数码管显示。这种方案优点是实现简单,可以完成倒计时功能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。

7

图10 键盘电路

6.3.2 倒计时计数功能

本系统使用数码管完成倒计时显示功能。以南北方向为例,数码管显示的数值从绿灯的设置时间最大值往下减,每秒钟减1,一直减到1。然后又从红灯的设置时间最大值往下减,一直减到1。接下来又显示绿灯时间,如此循环。

系统共有4个两位的LED数码管,分别放置在模拟交通灯控制板上的四个路口。各个方向的数码管个位(把数码管第二位定义为个位,第一位定义为十位)用一根信号线控制,十位用另一根信号线控制。这里采用动态显示。LED数码管如图11所示:

图11 LED数码管

7.系统软件设计

7.1延时程序设计

延时方法可以有两种一种是利用MCS-51内部定时器产生溢出中断来确定延时的时间,另一种是采用软延时的方法。下面给出延时1秒的实现方法。 7.1.1计数器硬件延时

8

⑴ 计数器初值计算

定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式:

TC=M-C

式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3的M值为28。 ⑵ 计算公式

T=(M-TC)T计数

或TC=M-T/T计数

T计数是单片机时钟周期TCLK的12倍;TC为定时初值 如单片机的主脉冲频率为TCLK=12MHZ ,经过12分频 方式0 TMAX=213 *1微秒=8.192毫秒 方式1 TMAX=216 *1微秒=65.536毫秒 方式2、3 TMAX= 28 *1微秒=256微秒

显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法和级联的方式解决这么个问题。 ⑶设置1秒延时

我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒。这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到,可以返回到输出时间显示程序。 ⑷相应程序代码 ① 主程序

定时器需定时50毫秒,故T0工作于方式1。 初值:TC=M-T/T计数 =216 -50ms/1us=15536=3CBOH

9

ORG 1000H

START: MOV TMOD, #01H ;令T0为定时器方式1 MOV TH0, #3CH ;装入定时器初值 MOV TL0, #BOH

MOV IE, #82H ;开T0中断 SEBT TR0 ;启动T0计数器 MOV RO, #14H ;软件计数器赋初值

LOOP: SJMP $ ;等待中断

② 中断服务子程序

ORG 000BH AJMP BRTO ORG 2000H BRTO:DJNZ R0,NEXT

AJMP TIME ;跳转到时间及信号灯显示子程序

MOV R0,#14H ;恢复R0值

MOV TH0,#3CH ;重装入定时器初值 MOV TL0,#BOH MOV IE,#82H RETI

END

7.2.2显示原理

当定时器定时为1秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。

7.2.3 8255输出信号的放大

要使行人能看见信号灯的情况,必须把8255输出的信号进行放大,这里我们用

10

VT双向晶闸管,当门极为高电平时晶闸管导通,该支路指示灯亮;当门极为低电平时关断,该支路指示灯灭。

我们用连接7段数码管的方法来连接晶闸管。

7.2.4 8255输出信号与信号灯的连接

LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点

亮而显示不同的字形如 dp,g,f,e,d,c,b,a 管角上加上7FH所以亮其余为TTL高电平,全亮则显示为8。

采用共阴级连接: 其中 PA0\\PB0-a,

PA1\\PB1-b, PA2\\PB2-c, PA3\\PB3-d, PA4\\PB4-e, PA5\\PB5-f, PA6\\PB6-g PA7\\PB7 -SP接地

7.3.1流程图

按键流程图如图12所示:

11

SP上为0伏,不

图12 按键流程图

程序流程图如图13所示:

12

开始 初始化 Y 有键盘事件? N 处理键盘事件 黄灯燃亮状态 R4=0? N Y 红灯燃亮状态 N R5=0? Y 绿灯燃亮状态 Y N R6=0?

图13 程序流程图

13

设计总结

通过单片机的设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。

这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,我更应该注重的是这一整个过程。于是,我坚持了下来。当然最终,这个设计很成功,主要体现在,这一整个系统,几乎没有参考任何书,程序由自己独立完成,与用8255来制作的交通灯控制系统相比,程序简单易读,结构清楚,最重要的是成本低。在设计一个系统,除了达到所要求的性能指标以外,成本也是很重要的一个指标。成本的高低也决定了产品的适用性。

附录2交通灯控制线路图

14

15

基于单片机的交通信号灯控制系统设计完整版.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5m58g4z7r95nd0f7mk5e_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top