一个十字路口的交通灯控制系统设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一个十字路口的交通灯控制系统

一、设计内容和要求:

利用AT89C51单片机设计一十字路口交通灯控制系统。

1:系统主要由单片机、数码管、交通灯组成。

2:具有人行道和基本的交通灯的功能。

3:具有数码管倒计时功能。

4:要求东西和南北车道的车辆交替运行,每次通行为25秒。

5:要求黄灯先亮3秒,才能变换车道,黄灯亮时要求闪亮。

6:有紧急情况的处理办法(如急救车来时)。

二、总体方案设计

本设计研究的是基于AT89C51单片机的交通灯智能控制系统。根据交通控制系统的设计原理,阐述了硬件和软件方面开发的整个过程。

主控系统采用AT89C51单片机作为控制器,控制通行倒计时及直行、行人的通行。并设计了有紧急情况(如急救车到来)时的处理办法。

三、系统的硬件设计

(1)本系统选用通过P0到P3口用做输出显示控制口。P0口用作输出南北方向LED数码管字符编码,P2口用作输出东西方向LED

数码管字符编码。P1.1—P1.4口用于位选及输出南北方向发光二

极管。P1.5和P1.6用作南北方向人行道的控制灯。P1.7和P3.7

用作东西方向人行道的控制灯。P3.0—P3.6口用于位选及输出东

西方向发光二极管。P3.2和P3.3用作外部中断。

(2)LED数码管采用动态显示方式实现倒计时读秒,并且本系统采用的是LED的共阳极接法。

(3)LED动态显示,在多位LED显示时,为了简化电路,降低成本,将段选位并联在一起,由一个八位的I/O口控制,而位选由另一个

口控制,段选码、位选码每次送入后演示1ms,而人的视觉暂留

时间为0.1s,所以在人看来数码管一直亮着,从而在应用中通过动

态扫描的方法显示。

四、设计原理分析

(1)从十字路口交通灯示意图分析可知:东西、南北方向信号灯控制是中心对称的,即无论是主干道还是支干道两侧系统对同方向的信

号灯控制是同步的。

(2)从示意图分析可知,人行道各个方向,系统对两侧的信号灯的控制也是同步的。

(3)人行道和信号灯的显示不是一致的,人应该和车一起走,但应该比车先停下来。

五、原理图(部分引脚未画)

六、流程分析图

假设交通灯交换的周期为60秒,则各个方向交通灯在时间轴上的交换情况如下表所示。

七、流程图

正常情况下交通灯的控制流程图

特殊情况下交通灯的控制流程图

八、实验程序

#include"reg51.h"

#define uchar unsigned char

#define uint unsigned int

uchar code b[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uint a;

sbit P30=P3.0;

sbit P31=P3.1;

sbit P10=P1.0;

sbit P11=P1.1;

void main()

{uint i;

P30=1;P31=1;P10=1;P11=1;

P0=b[8];P2=b[8];P1=OX2B;P3=0XA3;

* * void delay(void)

{unsigned char e,f,g;

for(g=252;g>0;g--)

for(f=230;f>0;f--)

for(e=33;e>0;e--);

nop; //初始化,数码管显示88并延时4s

while(1)

{for(i=250;i>0;i--)

{calc();}JS();}}

void delayms(uint m)

{uchar i,j;

for(i=m;i>0;i--)

for(j=110;j>0;j--);

}

void calc()

{ P30=1;

P10=1;

P0=b[3];P2=b[3];

delayms(10);

P30=0;P31=1;

P10=0;P11=1

* * P0=b[9];P2=b[9];

delayms(10);

P1.2=1;P3.6=1;P3=0;

Delay28s;}

void JS()

{a++;

if(a==10) a=0;}

九、调试运行

1、按照硬件图接线,确保东西南北方向红黄绿灯以及数码管能够对应显示。

2、将程序拷进单片机并安装在实验板上,接上电源,打开开关,观察六个LED灯是否与交通显示情况对应,如果有偏差,则单步运行,进行调试,直至满足设计要求。

3、整体运行,观察灯显示和时间显示是否都符合要求,如果不符合,则再调试。直至满足要求。

相关文档
最新文档