(1)用8253 计时器来完成时间的设定;
(3)用8259 中断控制器来进行紧急情况处理,如警车执行任务等情况;
(4)通过8255A 并口来控制LED 发光二极管的亮灭,输出为0 则亮,输出为1 则
灭;
(5)用8255 来输出绿灯的倒计时间。
2
设计方案及分工
在这个方案里,我们将此设计分为5 个模块,即:实现电路设计、连接电路以及各模块
间整合的模块、实现交通灯循环的模块、对中断进行处理的模块、实现绿灯倒计时的显示模
块、实现夜间控制模块。
具体分工如下:
xx:实现8253、电路设计、连接电路以及各模块间整合的模块
xx:实现夜间控制模块
xx:实现交通灯循环的模块
xx: 对中断进行处理的模块
xx: 实现绿灯倒计时的显示模块
我们想通过这次设计,具体实现以下功能:
以8086CPU 为核心设计一个交通灯控制系统,通过8255 并口来控制LED 发光二级管
的亮灭,输出0 为亮,输出一为灭;用8253 来实现一个定时器(隔一定时间发生一边沿跳
变,引发8259 中断);用8259 来实现对中断的处理;
设有一个十字路口,东西方向与南北方向各有一个红绿灯,初始状态为东西路口的红灯
亮南北路口的绿灯,南北方向的路口通车,并显示南北路口绿灯的倒计时间。延迟一定时间
之后,南北路口与东西路口都为黄灯亮,延迟一定的时间后,南北方向的红灯亮,东西路口
的绿灯两,东西方向的路口通车,并显示东西路口的绿灯倒计时间。延迟一定时间后直接跳
变为东西方向的红灯亮,南北路口的绿灯亮。如上所述循环一定次数后假设进入晚上,屏幕
上显示Good Night!此时这两个路口的黄灯开始闪烁,数码管清零并且闪烁。延迟一定时间
后假设进入早晨并在屏幕上显示Good Night!并实现交通灯的循环。如果遇到紧急情况,采
取紧急中断并且两个方向路口的红灯全亮确保紧急情况得到妥善处理,并且不管。在紧急情
况中断处理模块里通过拨动按钮KK2 来触发中断,使各个路口的灯全显示红灯,并在屏幕
上输出Waring!中断完成后跳回原来的状态,继续运行。
3.
各个模块的实现
3.1交通灯循环模块(XX)
3.1.1
设计思想
十字路口分为南北方向和东西方向,各个方向有红黄绿三灯,其循环过程如下:
1:东西方向路口的红灯亮,南北路口的绿灯亮;
2:东西路口与南北路口都为黄灯亮;
3:东西方向路口的绿灯亮,南北方向路口的红灯亮;
4:不经过黄灯亮,直接跳变为状态1;
5:按如上过程循环;
3.1.2流程图
图3-1 8255 并口输出流程图
1