1 任务及要求
1.1 设计任务
交通信号灯的控制:
(1)通过 8255A 并口来控制 LED 发光二极管的亮灭。
(2)A 口控制红灯,B 口控制黄灯,C 口控制绿灯。
(3)输出为 0 则亮,输出为 1 则灭。
(4)用 8253 定时来控制变换时间 。
1.2 设计要求
设有一个十字路口,1、3 为南,北方向,2、4 为东西方向,初始态为 4
个路口的红灯全亮。之后,1、3 路口的绿灯亮,2、4 路口的红灯亮,1、3 路
口方向通车。延迟 30 秒后,1、3 路口的绿灯熄灭,而 1,3 路口的黄灯开始
闪烁(1HZ)。闪烁 5 次后,1、3 路口的红灯亮,同时 2、4 路口的绿灯亮,
2、4 路口方向开始通车。延迟 30 秒时间后,2、4 路口的绿灯熄灭,而黄灯
开始闪烁。闪烁 5 次后,再切换到 1、3 路口方向。之后,重复上述过程。
2 设计思想
2.1 硬件设计思想
通过并行接口芯片 8255A 和 8086 计算机的硬件连接,以及通过 8253 延
时的方法,来实现十字路口交通灯的模拟控制。
如硬件连接图所示,红灯(RLED),黄灯( YLEDD)和绿灯(GLED)分别
接在 8255 的 A,B,C 口的低四位端口,PA0,PA1,PA2,PA3 分别接
1,2,3,4 路口的红灯,B,C 口类推。8086 工作在最小模式,低八位端口
AD
0
~AD
7
接到 8255 和 8253 的 D
0
~D
7
,AD
8
~AD
15
通过地址锁存器 8282,
接到三八译码器,译码后分别连到 8255 和 8253 的 CS 片选端。8253 的三个
门控端接+5V,CLOCK0 接由分频器产生的 1MHZ 的时钟脉冲,OUT0 接到
CLOCK1 和 CLOCK2,OUT1 接到 8086 的 AD
18
,
8086 通过检测此端口是否
有高电平来判断是否 30S 定时到。OUT2 产生 1MHZ 方波通过或门和 8255 的
B 口共同控制黄灯的闪烁。
2.2 软件思想设计
通过双重循环来实现交通灯的控制。开始让红灯全部亮,绿灯和黄灯全部熄
灭,让南北方向的绿灯亮,东西方向的红灯亮。第一层循环用来控制十字路口
的灯的循环切换。在第一层循环中嵌套一层循环来控制 8253 延时 30 秒时间
是否到,如果未到,继续让南北方向的绿灯亮,东西方向的红灯亮。如果已经
延时 30 秒,则退出循环,让南北方向绿灯灭,东西方向红灯不变,南北方向
黄灯开始闪烁。接着又嵌套一层循环来控制黄灯的闪烁次数,如果黄灯未闪烁
评论1