第 1 页 共 27 页
基
于
单
片
机
的
交
通
灯
设
计
向原作者表示感谢
刘日华
宋 海
吴夏珩
第 2 页 共 27 页
摘要:
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技
术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件
来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现
这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统
采用 MSC-51 系列单片机 ATSC51 和可编程并行 I/O 接口芯片 8255A 为中心器件来设计交
通灯控制器,实现了能根据实际车流量通过 8051 芯片的 P1 口设置红、绿灯燃亮时间的功
能;红绿灯循环点亮,倒计时剩 5 秒时黄灯闪烁警示(交通灯信号通过 PA 口输出,显示
时间直接通过 8255 的 PC 口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流
量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。
关键词:
单片机 交通灯 闯红灯 检测车流量
1 引言
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但
这一技术在 19 世纪就已出现了。
1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号
灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年,英国机械工程师纳伊特
在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿
两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869 年 1 月 2 日,
煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914 年
始安装于纽约市 5 号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。
1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力
探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇
红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,
它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,
以免发生交通事故。
第 3 页 共 27 页
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少
交通事故有明显效果。1968 年,联合国《道路交通和道路标志信号协定》对各种信号灯的
含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一
种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横
道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全
停车时可以进入交叉路口。
2 单片机概述
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微
型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处
理器、存储器和 I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,
便可成为一个单片机控制系统。
单片机经过 1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它
们的 CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
3 芯片简介
3.1 MSC-51 芯片简介
MCS-51 单片机内部结构
8051 是 MCS-51 系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
8051 单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、
并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,
现在我们分别加以说明:
·中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8 位
二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控
制输入输出功能等操作。
·数据存储器(RAM)
8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它们是统一编址
的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,
所以,用户能使用的 RAM 只有 128 个,可存放读写的数据,运算的中间结果或用户定义
的字型表。
第 4 页 共 27 页
图 1
·程序存储器(ROM):
8051 共有 4096 个 8 位掩膜 ROM,用于存放用户程序,原始数据或表格。
·定时/计数器(ROM):
8051 有两个 16 位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转
向。
·并行输入输出(I/O)口:
8051 共有 4 组 8 位 I/O 口(P0、 P1、P2 或 P3),用于对外部数据的传输。
·全双工串行口:
8051 内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既
可以用作异步通信收发器,也可以当同步移位器使用。
·中断系统:
8051 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,
可满足不同的控制要求,并具有 2 级的优先级别选择。
·时钟电路:
8051 内置最高频率达 12MHz 的时钟电路,用于产生整个单片机运行的脉冲时序,但
8051 单片机需外置振荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛
(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的
结构,即普林斯顿(Princeton)结构。INTEL 的 MCS-51 系列单片机采用的是哈佛结构的形
式,而后续产品 16 位的 MCS-96 系列单片机则采用普林斯顿结构。
下图是 MCS-51 系列单片机的内部结构示意图 2。
第 5 页 共 27 页
图 2
MCS-51 的引脚说明:
MCS-51 系列单片机中的 8031、8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构,
右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,
4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。现在我们对这些引脚的功能加以说明:
MCS-51 的引脚说明:
MCS-51 系列单片机中的 8031、8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构,
右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,
4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。现在我们对这些引脚的功能加以说明:
如图 3
图 3
Pin9:RESET/V
pd
复位信号复用脚,当 8051 通电,时钟电路开始工作,在 RESET 引脚
上出现 24 个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器 PC 指向
0000H,P0-P3 输出口全部为高电平,堆栈指针写入 07H,其它专用寄存器被清“0”。RESET
由高电平下降为低电平后,系统即从 0000H 地址开始执行程序。然而,初始复位不改变
RAM(包括工作寄存器 R0-R7)的状态,8051 的初始态。