一、前言
本文中交通灯系统采用MSC-51单片机AT89C51核心来设计交通灯控制器,利用单片机的外围扩展,显示电路构成基本硬件,编程实现对定时、控制、显示电路的控制,调试仿真,完成设计。本系统实现了交通灯的基本功能,单片机直接控制东西方向和南北方向红、黄、绿信号灯的状态变化,将发光二极管接到单片机p1口上,利用单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭,使四个路口的交通灯按照既定的功能要求进行有规律的变化。除此之外,八段数码显示管采用共阳极接法,用单片机端口P0、P2控制倒计时显示装置的十位、个位数字。单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。LED数码管显示时间的功能使交通灯使用较为灵活,倒计时以提醒行使者,更具人性化。在此基础上,系统加入了时间调整功能和紧急情况控制功能以实现紧急通车和紧急疏散。设置了五个特殊按键,当出现紧急情况时,按下紧急开关,根据具体情况手动控制。当需要调节时间时,通过按键可以实现直行时间的增减控制,人机交互友好。
本设计通过单片机输入输出各控制三种灯,利用数码管倒计时,如此完成基本的交通功能,并通过按键实现了通过信号灯对路面状况的智能控制,从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题,实用性强、操作简单、扩展功能强。
关键词:单片机、MSC-51、交通灯、LED
二、仿真图
三、部分代码
/***********main**********/
Voidmain()
{
//变量赋值
tiao_time=55;
dingtime=0;
huan=1;
TIME1=tiao_time+5;
TIME=tiao_time;
hong_biao=0;
huang=6;
DXG=0;//交通灯初始化,东西绿,南北红
DXY=1;
DXR=1;
NBG=1;
NBY=1;
NBR=0;
zhuangtai=0;
Timer0nit();//定时器0初始化
while(1)
{
key_button();
if(hong_biao==0)
{
DigDisplay();
}
}
}