1、 - 1 - 一 设计内容 设计一个十字路口交通灯控制器。模拟东西方向的十字路口交通信号控制情况。东西 向通行时间为 80s,南北向通行时间为 60s,缓冲时间为 3s。A 方向红灯时间=B 方向绿灯 时间+B 方向黄灯缓冲时间,其中 A 为东西方向,B 为南北方向。 二 任务分析 2.1 单片机交通控制系统的通行方案设计 十字路口分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续 一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明: 黑色表示亮,白色表示灭。交通状态从状态 1 开始变换,直至状态 4 然后循环至状态 1, 周而复始,即如图 1 所示:
2、 图 1 交通状态 - 2 - 通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下: 本设计中共 12 只 LED 分别为东西向和南北向两组, 各组指示灯均有相向的 2 只红色、 2 只黄色与 2 只绿色的 LED,交通灯共四种状态,分别设定为 S1、S2、S3、S4,交通灯以 这四种状态为一个周期, 循环执行如图 1 所示。 通行时间通过 4 个 2 位数码管以倒计时方 式循环显示。其中状态 S1:东西方向绿灯亮,允许通行,南北方向红灯亮,禁止通行; 状态 S2:东西方向绿灯转黄灯闪烁,允许通行,南北方向红灯亮,禁止通行; 状态 S3:东西方向红灯亮,禁止通行,南北方向绿灯亮,允
3、许通行; 状态 S4:东西方向红灯亮,禁止通行,南北方向绿灯转黄灯闪烁,允许通行; 开始 S2 S1 S4 S3 图 2 交通灯状态循环 依据上述分析,东西的通行时间为状态 S1 和状态 S2 的时间之和,南北的通行时间 为状态 S3 和状态 S4 的时间之和, 因此可以列出各个路口灯的状态转换如表 1 所示 (其中 逻辑值“1”代表执行通行,逻辑值“0”代表禁止通行,逻辑值“L”代表绿灯转黄灯) : 表 1 交通灯状态转换表 顺序 时间 东 西 南 北 绿灯 黄灯 红灯 绿灯 黄灯 红灯 S1 77s 1 0 0 0 0 1 S2 3s 0 L(闪烁) 0 0 0 1 S3 57s 0 0
4、1 1 0 0 S4 3s 0 0 1 0 L(闪烁) 0 2.2 单片机交通控制系统的功能要求 本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生, 还能进行倒计时显示, 通行时间调整和紧急处理等功能。 程序就是上述四种状态下循环转 化的,每四个状态为一个周期,正常情况下共花费 140S。 - 3 - 三 系统硬件设计 3.1系统硬件框图 本系统选用 MSC-51 系列单片机 AT89C51 为中心器件设计交通灯控制器,实现了红绿 灯循环点亮, 绿灯变红灯中间为黄灯闪烁警示的功能。 用共阴显示驱动芯片 MAX7219 芯片 连接单片机与 4 个共阴数码管, 显示十字路口
5、两个方向通行或禁止的剩余时间, 减少了对 单片机引脚和机器的占用时间。系统的硬件框图如图 3 所示。 图 3 系统硬件框图 3.2 单元电路设计 3.2.13.2.1 时钟电路时钟电路 取原选则:CPU 的需要精确的定时,这是用一个晶体振荡器产生稳定的时钟脉冲来控 制的。 8051 片内有一个有高增益反相放大器所构成的震荡电路, XTAL1 和 XTAL2 分别为震 荡电路的输入和输出端,时钟可以由内部方式产生或外部方式产生。在 XTAL1 和 XTAL2 之间跨接晶体振荡器和微调电容,组成并联谐振回路,从而构成一个稳定的自激震荡器。 电容置在 530PF 之间选择,电容的大小可起频率微调作用
6、。电容选取 22uF,晶振为 12MHZ。如图 4 所示。 图 4 时钟电路 3.2.23.2.2 复位电路复位电路 常见的复位电路有两种,上电自动复位、手动复位电路。本设计中采用的是上电自动 复位。如图 5 所示。 - 4 - 图 5 复位电路 3.2.33.2.3 交通灯电路交通灯电路 本系统采用 LED 作为交通灯来使用, 单片机的 I/O 口直接与 LED 连接。 在十字路口的 四组红、黄、绿三色交通灯中,东西方向的同色灯连接在一起,南北方向的同色灯也彼此 连接,受单片机 AT89C51 的 P0.0P0.5 控制。12 个 LED 指示灯采用共阳极的连接方式, 因此 I/O 口输出低电平时,与之相连的 LED 会亮,输出高电平时,LED 熄灭。 3.2.43.2.4 倒计时显示电路倒计时显示电路 该交通灯控制系统在正常工作情况下, 为方便提示路上行人及车辆交通灯转换的剩余 时间, 专门为控制系统提供了一个倒计时的显示装置。 该装置采用 2 位七段数码管来显示, 每个路口需要 1 个,共 4 个,在设计电路时,本系统采用用共阴显示驱动芯片 MAX7219