交通信号灯的c语言代码
时间: 2024-10-18 10:02:47 浏览: 110
交通信号灯通常是一个简单的控制程序,可以使用C语言中的循环和条件判断来模拟。这里是一个基础的单行道红绿灯控制的示例代码:
```c
#include <stdio.h>
#include <delay.h> // 假设有一个用于延迟的库函数
// 状态枚举
enum SignalState {
RED,
GREEN,
YELLOW
};
int main() {
enum SignalState signal = RED;
while (1) { // 无限循环,代表持续的交通状态
switch (signal) {
case RED:
printf("当前信号:红色\n");
delay_ms(2000); // 假设每个阶段延迟2秒
signal = GREEN; // 转换到下一个状态
break;
case GREEN:
printf("当前信号:绿色\n");
delay_ms(2000);
signal = RED; // 回到红灯状态
break;
case YELLOW:
printf("当前信号:黄灯\n");
delay_ms(1000); // 黄灯时间较短,例如1秒
signal = RED; // 直接变为红灯,以防误操作
break;
}
}
return 0;
}
```
注意,这个代码只是一个简化的示例,并未涉及硬件交互。实际应用中,你可能需要连接LED灯或者其他硬件设备,并利用中断或者其他实时机制来处理信号变化。
阅读全文