首页 > 文章中心 > 正文

AT89C51的交通信号灯控制系统

AT89C51的交通信号灯控制系统

摘要:随着经济的发展我国汽车保有量不断增加,道路交通问题日益凸显。本文主要研究以AT89C51单片机作为控制系统,实现对十字路通信号灯的控制。以东西向为例,绿灯亮80秒、黄灯亮3秒、红灯亮60秒、绿灯亮80秒依次循环实现对于东西向车流的控制。采用AT89C51单片机控制交通信号灯具有简单可靠等优点。

关键词:单片机;设计

1AT89C51单片机概述

1.1AT89C51单片机简介AT89C51单片机是ATMEL公司出品的一款与MCS51兼容的一款单片机,属于第三代单片机。AT89C51提供4K的Flash存储器,128字节RAM,4个IO口,2个16位定时器,一个中断系统,一个串行通信口,片内震荡器和时钟电路。AT89C51支持两种软件可选的节电工作模式。空闲模式停止CPU的工作但允许其他功能部件如RAM,中断系统等继续工作,掉电模式保持RAM中的内容不丢失其他所有部件都将停止工作一直到下一个硬件复位。1.274HC138译码器简介74HC138译码器是一个高速CMOS器件,具有三个输入端ABC及其3个特有的使能输入端两个低有效(E1和E2)一个高有效(E3)。只有E1,E2置低电平,E3置高电平时译码器才能正常译码。否则译码器输出将全为高电平。74HC138译码器按照输入端三位二进制输入码的条件从8个输出端译出一个低电平输出。

2方案论证

利用单片机设计一个十字路通灯控制系统。利用用单片机控制LED灯模拟指示。东西向通行时间为8秒,南北向通行时间为60秒,缓冲时间为3秒。以东西向为例,东西向绿灯亮80秒,黄灯亮3秒,红灯亮60秒,绿灯再亮80秒依次循环。

3设计原理

3.1硬件原理分析本系统主要由单片机控制系统、译码模块、数码管显示模块、交通灯模块等组成。单片机控制控制模块:选用AT89C51单片机,外加震荡电路为单片机提供脉冲信号。将51单片机的P3.0,P3.1,P3.2用作普通IO口使用,利用这三个口控制交通信号灯模块。P3.0口输出为高电平绿灯亮,P3.1口输出为高电平黄灯亮,P3.2口输出为高电平红灯亮。利用P1.0,P1.1,P1.2控制译码模块(3-8译码器)。利用P2口与译码模块控制数码管显示,P2口输出值即为译码器选中的当前数码管所显示的值。译码模块:由一个3-8译码器构成。输出端只利用Y0,Y1,Y2,Y3四个口。输入端由单片机的P1.0,P1.1,P1.2控制。如:当前P1.0输出为高,P1.1输出为高,P1.2输出为低,则Y3输出为低选中最右端数码管显示。P1口不断输出不同值,依次轮流选中四个数码管进行显示,在整个系统运行过程中都要不断地进行选中即进行扫描。数码管显示模块:由单片机P2口与译码器共同控制。由译码器选中当前的数码管,当前数码管显示P2口传过来的值。交通灯模块:由红黄绿三个LED灯组成。由单片机的P3.0,P3.1,P3.2控制。P3.0口输出为高电平绿灯亮,P3.1口输出为高电平黄灯亮,P3.2口输出为高电平红灯亮。

3.2软件原理分析单片机的控制程序主要由条件标志位g的判断模块、绿灯显示模块、黄灯显示模块、红灯显示模块构成。条件标志位g判断模块:设条件标志位g,若g=0执行绿灯显示程序,若g=1执行黄灯显示程序,若g=2执行红灯显示程序。绿灯显示模块:首先进行一段时间的延时,然后对f进行判断(f初始值为80)若f>0则直接输出f值,采用不断取余的方式显示f的十位个位。若f<=0则将f重新赋值并修改条件标志位g再输出显示一次f后返回转入黄灯显示程序执行。黄灯显示模块:基本步骤与绿灯显示模块相同,只是显示所赋f初始值(f初值为3)不同。红灯显示模块:基本步骤与绿灯显示模块相同,只是显示所赋f初始值(f初值为60)不同。

3.3相应程序代码4结论所设计的系统能够完成十字路通信号灯控制。利用AT89C51单片机完成交通信号灯的控制简单易行,便于修改价格低廉。对于经济城市交通问题日益突出的今天来说具有一定的实用价值。所设计的交通信号灯控制系统还有很多不足如不能通过按键等方式完成对信号设定时常的控制等,但也实现了利用单片机对一个十字路通信号灯的控制。

作者:崔兆春 单位:合肥工业大学

文档上传者