指示灯逻辑编程可以根据不同的应用场景和需求采用不同的编程语言和方法。以下是几种常见的编程语言和相应的指示灯逻辑编程示例:
1. 使用C语言
```c
include include include // 定义灯的端口 sbit W_E_R = P0^0; // 东西红灯 sbit W_E_Y = P0^1; // 东西黄灯 sbit W_E_G = P0^2; // 东西绿灯 sbit N_S_R = P0^3; // 南北红灯 sbit N_S_Y = P0^4; // 南北黄灯 sbit N_S_G = P0^5; // 南北绿灯 void turn_on_light(sbit *light) { *light = 1; printf("%s\n", "灯已打开"); } void turn_off_light(sbit *light) { *light = 0; printf("%s\n", "灯已关闭"); } int main() { // 初始化所有灯为关闭状态 W_E_R = 0; W_E_Y = 0; W_E_G = 0; N_S_R = 0; N_S_Y = 0; N_S_G = 0; // 循环控制灯的亮灭 while (1) { // 东西红灯亮, 南北绿灯亮, 10秒延迟 turn_on_light(&W_E_R); turn_on_light(&N_S_G); usleep(10000000); // 10秒 // 东西红灯闪, 南北黄灯闪, 3秒延迟 for (int i = 0; i < 3; i++) { turn_on_light(&W_E_R); turn_on_light(&N_S_Y); usleep(1000000); // 1秒 turn_off_light(&W_E_R); turn_off_light(&N_S_Y); usleep(1000000); // 1秒 } } return 0; } ``` 2. 使用Python ```python import time 定义灯的端口 W_E_R = 0b00000001 W_E_Y = 0b00000010 W_E_G = 0b00000100 N_S_R = 0b00001000 N_S_Y = 0b000010000 N_S_G = 0b000100000 def turn_on_light(light): light = 1 print("灯已打开") def turn_off_light(light): light = 0 print("灯已关闭") while True: 东西红灯亮, 南北绿灯亮, 10秒延迟 turn_on_light(W_E_R) turn_on_light(N_S_G) time.sleep(10) 东西红灯闪, 南北黄灯闪, 3秒延迟 for i in range(3): turn_on_light(W_E_R) turn_on_light(N_S_Y) time.sleep(1) turn_off_light(W_E_R) turn_off_light(N_S_Y) time.sleep(1) ``` 3. 使用定时器控件(如C++中的Timer控件)