c语言LED流水灯实例 8个LED灯按照从右到左的顺序依次点亮后,所有LED灯都闪烁两下。
时间: 2024-03-13 13:44:34 浏览: 132
以下是C语言实现LED流水灯的代码,可以实现您的需求:
```c
#include <stdio.h>
#include <windows.h>
int main() {
// 定义8个LED灯
int leds[8] = {0};
// 从右到左依次点亮8个LED灯
for (int i = 7; i >= 0; i--) {
leds[i] = 1;
for (int j = 0; j < 8; j++) {
printf("%s ", leds[j] ? "●" : "○"); // 显示LED灯状态
}
printf("\n");
Sleep(500); // 等待500毫秒
leds[i] = 0;
}
// 所有LED灯闪烁两次
for (int k = 0; k < 2; k++) {
for (int i = 0; i < 8; i++) {
leds[i] = 1;
}
for (int j = 0; j < 8; j++) {
printf("%s ", leds[j] ? "●" : "○"); // 显示LED灯状态
}
printf("\n");
Sleep(500); // 等待500毫秒
for (int i = 0; i < 8; i++) {
leds[i] = 0;
}
for (int j = 0; j < 8; j++) {
printf("%s ", leds[j] ? "●" : "○"); // 显示LED灯状态
}
printf("\n");
Sleep(500); // 等待500毫秒
}
return 0;
}
```
在上面的代码中,我们同样定义了一个整型数组 `leds` 来表示8个LED灯的状态,其中 `1` 表示点亮,`0` 表示熄灭。然后,我们先从右到左依次点亮8个LED灯,每个LED灯点亮后等待500毫秒,然后再熄灭。
接着,我们让所有LED灯闪烁两次,每次闪烁间隔500毫秒。具体实现是将8个LED灯全部点亮,然后等待500毫秒,再将它们全部熄灭,再等待500毫秒,如此循环两次。
最后,我们在循环中使用 `printf` 函数实现了显示LED灯状态的功能,用于在控制台输出LED灯的状态。在输出时,我们使用了三目运算符 `? :` 来判断LED灯的状态,如果为 `1` 则输出 `●`,否则输出 `○`。
阅读全文