基于51单片机的智能交通灯系统设计.docx

上传人:b****8 文档编号:10122545 上传时间:2023-02-08 格式:DOCX 页数:19 大小:152.26KB
下载 相关 举报
基于51单片机的智能交通灯系统设计.docx_第1页
第1页 / 共19页
基于51单片机的智能交通灯系统设计.docx_第2页
第2页 / 共19页
基于51单片机的智能交通灯系统设计.docx_第3页
第3页 / 共19页
基于51单片机的智能交通灯系统设计.docx_第4页
第4页 / 共19页
基于51单片机的智能交通灯系统设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

基于51单片机的智能交通灯系统设计.docx

《基于51单片机的智能交通灯系统设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的智能交通灯系统设计.docx(19页珍藏版)》请在冰豆网上搜索。

基于51单片机的智能交通灯系统设计.docx

基于51单片机的智能交通灯系统设计

基于51单片机的智能交通灯系统设计

1设计思路

(1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。

(2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,基于实际情况,又增加了紧急状况处理和通行时间可调这两项特特殊功能。

(3)进行显示电路,灯状态电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。

(4)进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。

2单片机交通控制系统总体设计

设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。

其具体状态如下图所示。

说明:

黑色表示亮,白色表示灭。

交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图1所示:

图1交通状态

通过具体的路口交通灯状态的演示分析,我们可以把这四个状态归纳如下:

◆东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。

此状态下,东西向禁止通行,南北向允许通行。

◆东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时5秒。

此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

◆南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。

此状态下,东西向允许通行,南北向禁止通行。

◆南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时5秒。

此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

下面我们可以用图表表示灯状态和行止状态的关系如下:

表1交通状态及红绿灯状态

状态1

状态3

状态4

状态6

东西向

禁行

等待变换

通行

等待变换

南北向

通行

等待变换

禁行

等待变换

东西红灯

1

1

0

0

东西黄灯

0

0

0

1

东西绿灯

0

0

1

0

南北红灯

0

0

1

1

南北绿灯

1

0

0

0

南北黄灯

0

1

0

0

东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。

状态及红绿灯状态如表1所示。

说明:

0表示灭,1表示亮。

单片机交通控制系统的功能要求

本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,通行时间调整和紧急处理等功能。

(1)倒计时显示

倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。

驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。

倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。

(2)时间的设置

本设计中可通过键盘对时间进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。

键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。

前者软件编写简单,但在按键数量较多时特别浪费I/0口资源,一般用于按键数量少的系统。

后者适用于按键数量较多的场合,但是在单片机I/0口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。

本系统要求的按键控制不多,且I/0口足够,可直接采用独立式。

(3)紧急处理

交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。

由此在交通控制中增设禁停按键,就可达到想此目的。

单片机交通控制系统的基本构成及原理

单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。

本系统在此基础上,加入了紧急情况处理与时间调整功能。

据此,本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块产生输入,信号灯状态模块,LED倒计时模块模块接受输出。

系统的总体框图如上所示。

单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。

在此过程中随时调用急停按键和时间调节中断。

交通灯中的中断处理流程

(1)现场保护和现场恢复:

有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场,包括信号灯和时间显示电路。

(2)中断打开和中断关闭:

为了使特殊车辆通行按一下打开中断开关就可以打开中断,关闭中断开关就关闭中断。

(3)中断服务程序:

有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容:

即如果南北方向有特殊车辆要求通过,南北方向转换为绿灯,东西方向为红灯;如果东西方向有特殊车辆要求通过,东西方向转换为绿灯,南北方向为红灯。

(4) 中断返回:

执行完中断服务程序后,必然要返回,即回交通灯信号回到中断前状态,显示时间也和中断前一样。

系统硬件总电路构成及原理

实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,若干按键组成时间设置和紧急按钮。

本系统以单片机为核心,系统硬件电路由状态灯,LED显示,按键,组成。

其中P0用于送显两片LED数码管,P1用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P2.6与P2.7对数码管进行片选,P3.2即INT0紧急情况处理按键,P3.3即INT1接时间调整中断按键。

系统工作原理

系统上电或手动复位之后,系统先显示状态灯及LED数码管,将状态码值送显P1口,将要显示的时间值的个位和十位分别送显P0口,在此同时用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。

时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,

当然,还要开启两个外部中断,其一为紧急情况处理中断,一旦信号有效,即K3键为低电平时进入中断服务子程序,东西南北路口的红灯全亮禁止全部通行,再按一下K3键,中断结束返回。

其二为通行时间调整中断,若K4按键有效,进入相应的中断子程序,对时间进行调整,此后再按K4键则中断结束返回。

LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。

LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。

以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示dP,即点),每个发光二极管的阳极连在一起,如图3.6所示。

这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。

为方便起见,本文主要讨论共阳八段LED数码显示管,其他类形的显示管与其类似。

LED灯的显示原理:

通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如dp,g,f,e,d,c,b,a全亮显示为8,采用共阳极连接驱动代码,代码表如下表5所示。

表5驱动代码表

显示数值

dp,g,f,e,d,c,b,a

驱动代码

0

11010000

C0H

1

11111001

F9H

2

10100100

A4H

3

10110000

B0H

4

10011001

99H

5

10010010

92H

6

10000010

82H

7

11111000

F8H

8

10000000

80H

9

10010000

90H

相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后有DPTR调取LEDMAP的代码。

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

四个方位上总共用8个LED接在单片机的IO口上。

虽然路口不一样,但是显示的时间在数字上是一样的,所以两边连接的IO口是对称的。

图7LED连接图

发光二极管

根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。

每个方向上设置红绿黄灯,总共4组。

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

按键控制

本设计设置了有5个键:

K1键P3.0,K2键P3.1,K3键P3.2,K4键P3.3,K5键P3.4,每个按键一端接地,另一端接对应的P3端口。

低电平有效,当按键按下端口接地,单片机捕获到低电平,从而知道相应的输入信息。

5系统软件程序的设计

全部控制程序实际上分为若干模块:

键盘设置处理程序,状态灯控制程序,LED显示程序紧停程序,中断服务子程序,红绿灯时间调整程序等。

整个软件程序方面主要分两大部分:

主程序部分和中断处理程序。

系统总流程图

设计说明:

该智能交通灯控制系统的软件设计采用的是顺序执行并反复循环的方法。

智能交通灯控制系统在正常工作的情况下,每20s循环变化一次。

每个循环周期在还剩5s时,正在通行路口的黄灯同时点亮并开始闪烁,以提醒路人上的行人及车辆,交通灯即将发生变化。

在此期间若中断按键按下则转入中断服务子程序进行相关操作。

定时器原理

定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH和TL中的。

它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。

因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC可得到如下计算通式:

TC=M-C

式中,M为计数器模值。

计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=T/T0。

计算通式变为:

T=(M-TC)T0

模值和计数器工作方式有关。

在方式0时M为8192;在方式1时M的值为65536;在方式2和3为256。

就此可以算出各种方式的最大延时。

如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式0最大延时只有8.129毫秒,采用方式1最大延时也只有65.536毫秒。

这就是为什么扫描周期为50ms的原因,

软件延时原理

MCS-51的工作频率为12MHZ,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。

我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。

中断原理

本系统主要使用了外部中断,中断信号有引脚INT0和INT1输入,低电平有效,CPU每个时钟周期都会检测INT0和INT1上的信号,8051允许外部中断以电平方式或负边沿方式两种中断方式输入中断请求信号,可由用户通过设置TCON中IT0和IT1位的状态来实现。

以IT0为例,IT0=0,为电平触发方式,IT0=1,为负边沿触发方式,本设计采用电平方式,IE0为其中断标志位,有中断信号则置位,中断服务子程序响应后,IE0自动清零。

IE中的EA为允许中断的总控制位,为1开启,EX0为外部中断允许控制位,为1开启。

在优先级的允许下,一旦有外部中断信号产生,单片机CPU首先保护断点,PC值进栈,然后执行相应的中断服务子程序,执行完后,用RETI指令返回,此时CPU会从堆栈中取保存的断点地址,送回PC,程序再正常执行。

集成开发环境KEIL

利用KEIL开发和调试系统软件流程大致如下:

◆启动Vision2,进入KEIL软件的集成开发环境;

◆利用KEIL内置的文本编辑器进行程序源文件的编辑,因为KEIL集成的文本编辑器对中文支持不是很好,可以选择其他的编辑器(本文使用的文本编辑器是Ultraedit—32),Vision2能够自动识别外部改变了的源文件;

◆建立工程,指定针对哪种单片机进行开发,指定对源程序的编译、链接参数,指定调试方式(本文采用外部硬件仿真器仿真调试的方式),然后对工程进行相关设置;

◆设置好工程后即可进行编译、链接。

连接仿真器对软件进行调试。

也可以生成下载到单片机存储器上的HEX文件。

系统总体原理图

 

系统程序清单

ORG0000H

LJMPSTART

ORG0003H

LJMPIINT0

ORG0013H

LJMPIINT1

ORG0030H

START:

MOVSP,#6FH;系统初始化

MOV61H,#20H

MOV60H,61H

LIGHT:

SETBEA

SETBEX0

SETBEX1

CLRIT1

CLRIT0

MOVP1,#0F3H;东西红,南北绿,计时时间为15s

MOV60H,61H

A1:

MOVR1,#50

A2:

ACALLBCD

ACALLDISPCLK

DJNZR1,A2

MOVA,60H

MOVR0,60H

ADDA,#99H

DAA

MOV60H,A

CJNER0,#05H,A1

 

MOVP1,#0F5H;东西红,南北黄灯闪烁5s

MOVR2,#5

A3:

MOVR1,#50

A4:

ACALLBCD

ACALLDISPCLK

DJNZR1,A4

CPLP1.1

MOVA,60H

ADDA,#99H

DAA

MOV60H,A

DJNZR2,A3

MOVP1,#0DEH;东西绿,南北红,计时时间20s

MOV60H,61H

A5:

MOVR1,#50

A6:

ACALLBCD

ACALLDISPCLK

DJNZR1,A6

MOVR0,60H

MOVA,60H

ADDA,#99H

DAA

MOV60H,A

CJNER0,#05H,A5

 

MOVP1,#0EEH;南北红,东西黄灯闪烁5s

MOVR2,#5

A7:

MOVR1,#50

A8:

ACALLBCD

ACALLDISPCLK

DJNZR1,A8

CPLP1.4

MOVA,60H

ADDA,#99H

DAA

MOV60H,A

DJNZR2,A7

LJMPLIGHT;连续运行返回部分

DISPCLK:

;显示部分

MOVDPTR,#TAB

MOVA,50H

MOVCA,@A+DPTR

MOVP0,A

CLRP2.6

LCALLDELAY

SETBP2.6

MOVA,51H

MOVCA,@A+DPTR

MOVP0,A

CLRP2.7

LCALLDELAY

SETBP2.7

RET

BCD:

;将十位数送到(51H),个位数送到(50H)

MOVA,60H

MOVB,#10H

DIVAB

MOV51H,A

MOVA,B

MOV50H,A

RET

IINT0:

;紧急情况处理

CLREA

JBP3.2,$

PUSH60H

PUSHP1

PUSHP2

B0:

JNBP3.0,NH

JNBP3.1,DH

A9:

MOVP1,#0F6H;全红

SETBP2.6

SETBP2.7

ACALLDELAY

JNBP3.2,B0

JMPJE

NH:

MOVP1,#0DEH;只允许东西方向车辆通行

SETBP2.6

SETBP2.7

ACALLDELAY

JNBP3.2,B0

JMPJE

DH:

MOVP1,#0F3H;只允许南北方向车辆通行

SETBP2.6

SETBP2.7

ACALLDELAY

JNBP3.2,B0

JMPJE

JE:

POPP2

POPP1

POP60H

SETBEA

RETI

 

IINT1:

;通行时间加减程序

CLREA

JBP3.3,$

PUSHP1

PUSHP2

B1:

JNBP3.1,DDEC

IINC:

JNBP3.0,SINC;加1程序

ZINC:

;自动加1

MOVR0,#15

A10:

ACALLBCD

ACALLDISPCLK

DJNZR0,A10

MOVA,60H

ADDA,#01H

DAA

MOV60H,A

JNBP3.3,B1

JMPJS

SINC:

;手动加1

MOVR3,#20

A11:

ACALLBCD

ACALLDISPCLK

DJNZR3,A11

MOVA,60H

ADDA,#01H

DAA

MOV60H,A

B2:

JBP3.3,JS

JNBP3.4,SINC

JMPB2

DDEC:

;减1程序

JNBP3.0,SDEC

ZDEC:

MOVR4,#15

A12:

ACALLBCD

ACALLDISPCLK

DJNZR4,A12

MOVA,60H

ADDA,#99H

DAA

MOV60H,A

JBP3.3,JS

JMPB1

SDEC:

;手动减1程序

MOVR5,#20

A13:

ACALLBCD

ACALLDISPCLK

DJNZR5,A13

MOVA,60H

ADDA,#99H

DAA

MOV60H,A

B3:

JBP3.3,JS

JNBP3.4,SDEC

JMPB3

JS:

MOV61H,60H

POPP2

POPP1

SETBEA

RETI

;10MS延时

DELAY:

MOVR6,#25

DEL1:

MOVR7,#200

DEL2:

DJNZR7,DEL2

DJNZR6,DEL1

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1