顺序结构实现的流水灯控制程序(使用C语言):
```c
include
void delay(unsigned char i);
void main() {
while(1) {
P1 = 0xFE; // 点亮第1个发光二极管
delay(200); // 延时
P1 = 0xfd; // 点亮第2个发光二极管
delay(200); // 延时
P1 = 0xfb; // 点亮第3个发光二极管
delay(200); // 延时
P1 = 0xf7; // 点亮第4个发光二极管
delay(200); // 延时
P1 = 0xef; // 点亮第5个发光二极管
delay(200); // 延时
P1 = 0xdf; // 点亮第6个发光二极管
delay(200); // 延时
P1 = 0xbf; // 点亮第7个发光二极管
delay(200); // 延时
P1 = 0x7f; // 点亮第8个发光二极管
delay(200); // 延时
}
}
void delay(unsigned char i) {
unsigned char j, k;
for(k = 0; k < i; k++)
for(j = 0; j < 255; j++);
}
```
Arduino流水灯程序(使用C++):
```cpp
const int ledPin = 13; // 定义LED连接的引脚
void setup() {
pinMode(ledPin, OUTPUT); // 设置引脚为输出模式
}
void loop() {
digitalWrite(ledPin, HIGH); // 点亮LED
delay(1000); // 延时1秒
digitalWrite(ledPin, LOW); // 灭灯
delay(1000); // 延时1秒
}
```
使用位操作实现的流水灯程序(使用C语言):
```c
include
sbit LED1 = P2^0;
sbit LED2 = P2^1;
sbit LED3 = P2^2;
sbit LED4 = P2^3;
sbit LED5 = P2^4;
sbit LED6 = P2^5;
sbit LED7 = P2^6;
sbit LED8 = P2^7;
void delay(uint z) {
uint x, y;
for(x = 0; x < z; x++)
for(y = 0; y < 113; y++);
}
void main() {
while(1) {
LED1 = 0; // 灯亮
delay(1000); // 持续亮1秒
LED1 = 1; // 灯灭
delay(1000); // 持续灭1秒
LED2 = 0;
delay(1000);
LED2 = 1;
delay(1000);
LED3 = 0;
delay(1000);
LED3 = 1;
delay(1000);
LED4 = 0; // 灯亮
delay(1000); // 持续亮1秒
LED4 = 1; // 灯灭
delay(1000); // 持续灭1秒
LED5 = 0;
delay(1000);
LED5 = 1;
}
}
```
使用Arduino的digitalWrite和delay函数实现的流水灯程序(使用C++):