一、课题内容及要求
设有一个十字路口1、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4 路口的绿灯亮,2、4路口方向通车。延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后,重复上述过程。
通过8255A控制发光二极管。PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯。
二、方案
分析题目可知,一共有7种工作状态,分别如下:
状态一:1红、2红、3红、4红
状态二:1绿、2红、3绿、4红
状态三:1黄、2红、3黄、4红
状态四:1熄灭、2红、3熄灭、4红
状态五:1红、2绿、3红、4绿
状态六:1红、2黄、3红、4黄
状态七:1红、2熄灭、3红、4熄灭
其中,1红表示第1个路口的红灯亮,2熄灭表示第2个路口的灯熄灭。黄灯闪烁是由黄灯亮和灯熄灭组合而成。
这七个状态只需要依次运行,再运行完一次后再循环运行就可以完成题目“重复上述过程”的要求。在这七个状态之间转换时,不需要对前一状态进行判断,只需要按照此顺序,通过8088依次对8255A置数,使8255A按顺序分别处于这