欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

计算机课程设计红绿灯,武汉大学电气工程学院计算机课程设计1:红绿灯

发布时间:2025/5/22 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 计算机课程设计红绿灯,武汉大学电气工程学院计算机课程设计1:红绿灯 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、课题内容及要求

设有一个十字路口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按顺序分别处于这七种状态即可。因不需要对前一状态进行判断,所以使程序大为简化。

三、工作原理说明

首先,初始化8255,使其工作在方式0。方式0为基本输入输出方式,最适合用于无条件传送方式。此特点与方案一致。并且A、B、C口均工作在输出状态。根据要求,此题目只用到A口和B口作为输出口,通过A口和B口的输出信号来控制每个灯的亮灭。每个工作状态所对应的A口和B口的信号如下:

状态一:1红、2红、3红、4红(A:10110110;B:11111101)

状态二:1绿、2红、3绿、4红(A:10101110;B:11111011)

状态三:1黄、2红、3黄、4红(A:10011110;B:11110111)

状态四:1熄灭、2红、3熄灭、4红(A:10111110;B:11111111)

状态五:1红、2绿、3红、4绿(A:01110101;B:11111101)

状态六:1红、2黄、3红、4黄(A:11110011;B:11111100)

状态七:1红、2熄灭、3红、4熄灭(A:11110111;B:11111101)先通过控制A口和B口的输出使交通灯工作在状态一。此时四个路口均为红灯。此时持续的时间可以通过调用一个时间控制程序段DELAY1实现,这个

-1-

总结

以上是生活随笔为你收集整理的计算机课程设计红绿灯,武汉大学电气工程学院计算机课程设计1:红绿灯的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。