基于89C51单片机设计报告.docx

上传人:b****6 文档编号:4598993 上传时间:2022-12-07 格式:DOCX 页数:12 大小:162.10KB
下载 相关 举报
基于89C51单片机设计报告.docx_第1页
第1页 / 共12页
基于89C51单片机设计报告.docx_第2页
第2页 / 共12页
基于89C51单片机设计报告.docx_第3页
第3页 / 共12页
基于89C51单片机设计报告.docx_第4页
第4页 / 共12页
基于89C51单片机设计报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

基于89C51单片机设计报告.docx

《基于89C51单片机设计报告.docx》由会员分享,可在线阅读,更多相关《基于89C51单片机设计报告.docx(12页珍藏版)》请在冰豆网上搜索。

基于89C51单片机设计报告.docx

基于89C51单片机设计报告

基于AT89S51系列单片机的智能交通信号灯设计

摘要:

文章介绍了基于AT89S51系列单片机的智能交通灯控制系统的设计,系统能够根据十字路口车流量的情况控制交通信号灯按特定的规律变化。

通过对现状交通灯存在的一些缺点进行分析,并提出改进方法。

智能交通灯控制系统先通过传感器来识别车流量大小,系统根据车流量的情况进行自动控制,从而决定各方向车辆的通行,在保证交通安全的前提下最大限度地提高了交通效率,对缓解交通阻塞,提高畅通率具有十分现实的意义。

关键词:

单片机,智能交通控制系统,传感器

一、国内交通灯产品设计技术发展概述

在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行;黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行。

交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。

目前设计交通灯的方案有很多,有应用CPLD设计实现交通信号灯控制器方法;有应用PLC实现对交通灯控制系统的设计;有基于EDA的交通灯控制系统;有应用单片机实现对交通信号灯设计的方法。

但是,目前绝大部分交通灯其时间都是设定好的,采用的是单段式定时控制或多段式定时控制,其最大的缺点是绿灯时间和绿信比是固定的或是分时段固定的,且最佳绿灯时间和最佳绿信比的整定较为困难,需要大量的实测统计数据,且很多情况下整定所得值并不是最优的,甚至是不合理的。

控制起来都不是很灵活,这使得城市车流的调节不能达到最优。

为解决这一问题,设计一个智能化交通灯控制系统,据实时车流量对各路口的绿灯时间进行动态调节,实现智能化管理。

本文介绍了一种新型实用单片机交通灯控制系统的设计方法,实现交通信号灯的智能化管理。

二、技术指标

1)设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行,两个方向能根据车流量大小自动调节通行时间,车流量大,通行时间长,车流量小,通行时间短。

2)每次绿灯变红灯时,变要求黄灯先亮5S,才能换运行车辆.

3)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数码管显示器进行显示(采用倒计时的方法)。

4)同步设置人行横道红、绿灯指示。

5)考虑到特殊车辆情况,设置紧急转换开头。

三、技术方案

1、设计总体思路

AT89S51单片机有2个计数器,6个中断源,能满足系统要求。

用单片机设计智能交通灯的成本低,相对其它技术较简单,且设计的产品能够满足要求,所以本文采用单片机设计交通灯,系统原理框图如图1所示:

CANBUS

图1

系统利用红外遥控装置实现各十字路口现场信号灯控制红外发射器发射出的编码信号经接收器接收后送人单片机控制器,控制信号灯红绿变换、等待时间、急车强通。

另外,车流检测装置安放在各十字路口东西、南北道路方向实时检测车道车流信息。

并将检测到的信息输至单片机进行处理。

通过单片机编程技术实现信号灯绿、红切换及等待时间设定。

此外,PC机通过通讯串口与节点上的单片机控制器进行通信,实现数据信息在CAN总线上的发送与接收。

PC机负责网络上所有信号灯控制装置的集中管理功能:

同时向各信号灯控制器下传工作模式控制信息。

2、设计中的技术重点和难点

设计改智能交通灯的技术重点是交通灯运行控制功能模块框图,难点是如何检测十字路口的车流量,道路上的车流量具有极大的随机

性和模糊性,是一个典型的时变系统。

特别在上、下班时间,路口往往堆积着大量车辆,给人们的通行带来了极大的不便。

如何根据检测到的车流量来动态、实时地控制当前绿灯时间是一个难点。

3、解决重点难点基本思路

对车流量的检测可以通过采用一个压电传感器,把各种车的图像等参数发送到传感器进行识别,最后由控制系统实现对信号灯的控制。

如下图2所示:

系统中在每条路的进口安装六个检测器,即每一车道上两个。

每条路的近侧检测器(靠近路口端)和远侧检测器问需一定的距离,使得能把后面的车辆预到达的信息反馈给系统,在此取100m。

四、硬件设计

系统采用AT89C51单片机作为主控制芯片。

8255A作为东西和南北方向的红灯、绿灯、黄灯的I/O接口芯片。

图3、4、5为交通灯的控制系统原理图。

图3

图4

图5

对关键元件的选择说明

(1)AT89C51(主控芯片):

CPU作为该系统的核心,控制芯片,起控制、管理交通灯的作用。

(2)采用双色LED模拟显示交通灯的状态

双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,共用负端。

当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。

(3)紧急优先控制功能

该功能主要是为了交通管理中紧急处理。

因此。

在交通信号灯正常控制的基础上,增加紧急优先处理功能。

如消防、急救等情况出现时,东西、南北方向的红灯均变亮。

以便紧急处理。

有紧急情况时。

89(251通过INTO请求中断,使系统可靠地接收紧急信号。

紧急情况处理后。

交通信号灯又恢复到先前的工作状态。

五、软件设计

智能交通灯的软件设计流程图如下图所示:

 

程序代码如下:

ORG0000H

A_BITEQU20H;用于存放南北十位数

B_BITEQU21H;用于存放南北十位数

C_BITEQU22H;用于存放东西十位数

D_BITEQU23H;用于存放东西十位数

TEMP1EQU24H;用于存放第一二南北状态要显示的时间

TEMP2EQU25H;用于存放第一二东西状态要显示的时间

TEMP3EQU26H;用于存放第三第四南北状态要显示的时间

TEMP4EQU27H;用于存放第三第四南北状态要显示的时间

LJMPMAIN

ORG0003H;外部中断0入口

LJMPINT0;跳转到外部0中断

ORG0013H;外部中断1入口

LJMPINT1;跳转到外部1中断

INT0:

MOVA,P1;外部0中断

PUSHACC

MOVA,P2;中断保护

PUSHACC

MOVP1,#0FFH;清除先前状态

MOVP2,#0FFH

CLRP1.0

CLRP1.4;南北通行,东西禁止通行

CLRP1.6

CLRP2.3

JNBP3.2,$;判断是否还在中断状态

POPACC

MOVP2,A;返回中断前状态

POPACC

MOVP1,ACC

RETI;中断返回

INT1:

MOVA,P1;外部1中断

PUSHACC;中断保护

MOVA,P2

PUSHACC

MOVP1,#0FFH;清除先前状态

MOVP2,#0FFH

CLRP1.2

CLRP2.1

CLRP1.3;东西通行,南北禁止通行

CLRP1.5

JNBP3.3,$;判断是否还在中断状态

POPACC

MOVP2,A;返回中断前状态

POPACC

MOVP1,A

RETI;中断返回

MAIN:

ORG0100H;初始情况

MOVP1,#0FFH

MOVP2,#0FFH;灭所有灯

MOVTMOD,#55H;计数方式方式1

MOVIE,#85H;开中断

MOVTEMP1,#20;

MOVTEMP2,#25

MOVTEMP3,#25

MOVTEMP4,#20

STAR:

MOVP1,#0FFH

MOVP2,#0FFH;灭所有灯

MOVA,24H;将显示时间送A

CJNEA,#20,T40T;判断时间,选初始值

T20T:

;南北通行要显示的时间为20的计数器初始值

CLRTF0;清TF0

CLRTF1;清TF1

MOVTH1,#0FFH;送20秒时的初始值

MOVTL1,#0FCH;在些设计20秒6辆为多车

MOVTH0,#0FFH

MOVTL0,#0FCH

LJMPTEMP20;跳到20秒

T40T:

;南北通行要显示的时间为40的计数器初始值

CLRTF0;清TF0

CLRTF1;清TF1

MOVTH1,#0FFH;送40秒时的初始值

MOVTL1,#0F8H;在些设计40秒8辆为多车

MOVTH0,#0FFH

MOVTL0,#0F8H

LJMPTEMP40;跳到40秒

TEMP20:

;TEMP1=20情况

SETBTR0;开始计数

SETBTR1

CLRP1.2

CLRP2.1;南北通行,东西禁止通行

CLRP1.3

CLRP1.5

MOVTEMP1,#20;南北要显示的时间,

MOVTEMP2,#25;东西要显示的时间

STLOP:

ACALLDISPLAY1;调用显示

DECTEMP1;时间够一秒显示时间减1

DECTEMP2

MOVA,TEMP1

CJNEA,#0,NEXT;若显示时间不为0保持现在状态

LJMPSTAR2;若显示时间为0跳到第二状态

NEXT:

LJMPSTLOP

STAR2:

;状态1

SETBP1.2

CLRP1.1;南北黄灯,东西禁止通行

SETBP1.3

CLRP1.4

MOVTEMP1,#05;南北要显示的时间,

MOVTEMP2,#05;东西要显示的时间,

STLOP2:

ACALLDISPLAY1;调用显示

DECTEMP1;时间够一秒显示时间减1

DECTEMP2

MOVA,TEMP1

CJNEA,#0,NEXT2;若显示时间不为0保持现在状态

JBTF1,T40;判断南北是否多车

JBTF0,T40;判断南北是否多车

MOVTEMP1,#20;少车下次显示时间为20秒

DJNZR1,DPLOP;循环扫描

DJNZR0,DPL1

RET;等待1秒返回

D1MS:

MOVR7,#250;1MS延时程序

DJNZR7,$

RET

参考文献

[1]梅丽凤,王艳秋.单片机原理及接口技术[M].北京:

清华大学出版社,北京交通大学出版社,2009.

[2]韩来吉.用89C51实现急救车优先的交通灯控制系统[J].

[3]温欣玲,张玉叶.基于单片机交通灯智能控制系统研究[J].中文核心期刊《微计算机信息》(嵌入式与SOC)2007年第23卷第1O一2期

[4]陈志强,芮延年,陈冶湘.城市路口交通灯多级智能控制方法的研究J.2007

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

当前位置:首页 > 经管营销 > 企业管理

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

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