APP下载

单片机控制交通灯电路的设计

2020-09-07夏开云

通信电源技术 2020年11期
关键词:黄灯交通灯数码管

夏开云

(南京江宁高等职业技术学校,江苏 南京 211100)

1 设计思想

我国交通指挥信号灯法规规定如下[1-2]。

(1)红灯停:红灯亮时不准车辆和行人通行;

(2)绿灯行:绿灯亮时允许行车辆和行人通行;

(3)黄灯亮等一等:黄灯亮时,已经越过停止线的车辆和行人可以继续通行,还没有越过停止线的不准继续通行;

(4)绿色箭头灯亮:车辆和行人在相应的车道上按照箭头所指的方向通行;

(5)黄灯闪烁:车辆和行人在相应的车道上时,在确保安全的情况下可以通行。

正常情况下,交通信号灯分为东西支干和南北主干道。通常,东西支干道通行时间为20 s,南北主干道通行时间为30 s,且每个方向绿灯转红灯时黄灯先亮5 s。交通灯还设置了人工控制状态,如果一道有车而另一道无车,执勤交警会通过交通灯的人工控制系统为有车道放行。有紧急车辆要求通过时,人工禁止普通车辆通行。交通信号灯的出现,使交通秩序得到了有效管制,既有利于交通疏导,也减少了交通事故的发生。

2 设计框图

单片机控制交通灯电路[3]的单片电路主要以单片机为中心,电源、时钟和复位电路给单片机提供电源和信号,而单片机接收到信号则对发光二极管和其他设备进行相应的控制。设计框图如图1所示。

图1 单片机控制交通灯电路设计框图

3 电路设计

单片机控制[4]交通灯电路原理,如图2所示。

交通灯控制电路工作过程:接通电源,程序开始进入循环状态,东西向红灯亮,南北向绿灯亮,同时数码管从30 s开始进行倒计时,剩余5 s时红绿灯都不亮,转为4个方向的黄灯,每隔1 s亮一次,蜂鸣器发声;倒计时结束后,数码管再次重新开始20 s倒计时,东西向绿灯亮,南北向红灯亮,剩余5 s时红绿灯都不亮,转为4个方向的黄灯,每隔1 s亮一次,蜂鸣器发声,依次循环。

图2 单片机控制交通灯电路原理图

按下K1按键后数码管进入50 s倒计时,东西向绿灯亮,南北向红灯亮,倒计时结束后数码管再次重新开始50 s倒计时,依次循环。由于本电路是上电复位,所以需要重新通电,再按下K2按键后数码管进入50 s倒计时,东西向红灯亮,南北向绿灯亮,倒计时结束后数码管重新开始50 s倒计时,依次循环。

4 各模块原理说明

4.1 AT89C51集成芯片介绍

ATC89C51是以8051为核的ISP系统可编程芯片,最高工作时钟频率为80 MHz。8051由中央处理器、内部数据存储器RAM、内部程序存储器ROM、并行I/O口、串行口、定时/计数器、中断系统和时钟电路组成[1]。

(1)中央处理器是单片机的控制核心,由运算器和控制器两部分组成。

(2)内部数据存储器RAM:8051共有256个RAM单元,可读可写,一旦掉电,数据就会丢失。其中,高128个单元被专用寄存器占用;低128个单元供用户使用,用于暂存中间数据。

(3)内部程序存储器ROM:8051内部共有4 kB掩膜ROM,用于存放程序,而ROM只能读不能写。若突然断电,不会造成数据丢失。程序运行过程中原始数据不会改变。

(4)并行I/O口:利用8051内部的4个8位I/O接口实现数据的并行输入输出。

(5)串行口:实现单片机与其他设备之间的串行数据通信,可以利用8051内部的一个全双工异步串行口。该串行口除了实现串行通信外,还能扩展外部I/O端口。

(6)定时/计数器:利用8051内部的16个定时/计数器,实现定时或计数功能。

(7)中断源:8051内部共有5个中断源,根据优先级别不同分为高级和低级两个级别。

(8)时钟电路:8051内部自带时钟电路,只需外接石英晶体,两端并联微调电容即可产生时钟振荡信号。

芯片具有系统可编程的特性,配合PC端的相应控制程序即可将用户的程序代码烧进单片机内部。STC89C51RC系列单片机具有高速、低功耗等优点,内部集成MAX810专用复位电路。

4.2 复位电路

89C51的复位引脚(RST)是第9脚,此引脚连接高电平的时间超过2个机器周期(一个机器周期为6个时钟脉冲),即可使单片机复位。本电路由1个电阻和1个电容构成。在系统上电时,经C1与R1充电,使RST端为高电平,持续时间大于2个机器周期完成复位。电容充电结束后系统复位结束,开始正常工作。复位操作有两种基本形式:一种是上电与按键均有效的复位,另一种是本系统所采用的上电复位,电路如图3所示。

图3 复位电路

4.3 发光二极管

发光二极管简称LED,是一类特殊的二极管。由于在管内加入了特殊气体,当加以正向电流时便能导通发光。本次设计中,它用于模拟交通灯。

4.4 外部晶振时钟电路设计

89C51单片机内部有一个具有高增益的反相输入放大器,输入输出引脚分别为XTAL1和XTAL2。只要两个引脚之间具有合适的可调电阻,就构成了稳定的振荡电路。一般C2和C3的电容取30 pF左右。为了减小寄生电容,晶振和电容尽可能安装得与单片机的XTAL1和XTAL2靠近些。晶振的频率范围1.2~12 MHz。振荡频率越高,系统的时钟频率就越高,单片机此时的运行速度也就越快。对于外部振荡器,则应将外部振荡信号直接加到XTAL1,而使XTAL2悬空。外部晶振时钟电路如图4所示。

4.5 按键模块

按键功能区的主要任务是通过系统按键改变电路的现象,能够通过按键模块对系统各方向信号灯预设时间,并根据现实情况进行合理化设置。本电路设置了2个按键K1和K2,按K1南北的绿灯亮时间为50 s,按K2东西的绿灯亮时间为50 s。

图4 晶振时钟电路

4.6 显示模块

数码管的实质是7个发光二极管,但具有单向导电性,一般通过5 mA左右的电流即可发光。显示器的右下角用一个圆点型发光二极管作为小数点,用字母DP来表示。通过程序控制7个发光二极管的亮灭,用不同组合显示各种数字、字母等。

数码管的连接方式有共阳极和共阴极两种[2]。共阳极接法是指发光二极管的阳极(正极)连在一起构成公共阳极。使用时,公共阳极接+5 V。阴极输入低电平对应的段,发光极管就导通点亮;阴极输入高电平的段,则不亮。共阴极接法是指把发光二极管的阴极(负极)连在一起构成公共阴极。使用时,公共阴极接地。当阳极端输入高电平对应的段,发光二极管导通点亮;阳极输入低电平的段,则不亮。本系统采用的是共阳极接法。

LED显示器[5]是现在最常用的显示器之一,显示电路如图5所示。

图5 LED显示器电路

本电路接直流稳压电源+5 V电压,由于当时采用排针导致正负极之间的距离过小,一不小心易引起电路短路,所以用两根电子线将它们缠绕在排针上,增大了正负极之间的距离,避免了短路现象的发生。

5 结 论

传统交通灯电路目前在技术上已经比较成熟,但是交通堵塞问题依然严重。为了更好地解决这一问题,需要在硬件和软件上对车流和人流的控制做进一步改善,使交通灯更加智能化。

猜你喜欢

黄灯交通灯数码管
基于51单片机的分数计数器设计
微课教学设计之“数码管动态显示”
Arduino编程
基于单片机的交通灯模糊控制器研究
MC9S08FL16单片机数码管静态显示分析
基于遗传算法的智能交通灯控制研究
为什么交通灯是红黄蓝三种颜色?
基于单片机的LED模拟交通灯设计
无知之幕与博弈:从“黄灯规则”看博弈论的一种实践方案
还有94分