用C语言编一个流水灯程序
时间: 2023-03-08 07:16:45 浏览: 138
好的,以下是一个使用 C 语言编写的流水灯程序的简单示例:
```
#include <stdio.h>
#include <unistd.h>
int main() {
int i;
for (i = 0; i < 5; i++) {
printf("红灯\n");
sleep(1);
printf("黄灯\n");
sleep(1);
printf("绿灯\n");
sleep(1);
}
return 0;
}
```
这个程序使用了 `sleep` 函数,它会使程序暂停一段时间,从而达到让红灯、黄灯、绿灯交替显示的效果。
相关问题
利用c语言编一个程序使一个按键控制8个流水灯
以下是一个简单的C语言程序,可以通过按下一个按键来控制8个流水灯:
```c
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
#define BUTTON_PIN 0 // 按钮引脚
#define LED_PIN_START 1 // 第一个LED引脚
#define NUM_LEDS 8 // LED数量
int main(void) {
// 初始化WiringPi库
if (wiringPiSetup() == -1) {
printf("Failed to initialize WiringPi library\n");
exit(1);
}
// 设置按钮引脚为输入模式,上拉电阻使其默认为高电平
pinMode(BUTTON_PIN, INPUT);
pullUpDnControl(BUTTON_PIN, PUD_UP);
// 设置LED引脚为输出模式
for (int i = LED_PIN_START; i < LED_PIN_START + NUM_LEDS; i++) {
pinMode(i, OUTPUT);
}
int led_index = 0; // 当前点亮的LED的索引
while (1) {
// 检测按钮是否按下
if (digitalRead(BUTTON_PIN) == LOW) {
// 等待按钮松开
while (digitalRead(BUTTON_PIN) == LOW) {
delay(10);
}
// 关闭当前点亮的LED
digitalWrite(LED_PIN_START + led_index, LOW);
// 计算下一个需要点亮的LED的索引
led_index = (led_index + 1) % NUM_LEDS;
// 点亮下一个LED
digitalWrite(LED_PIN_START + led_index, HIGH);
}
// 稍微延迟一下,防止程序占用过多CPU资源
delay(10);
}
return 0;
}
```
这个程序使用了WiringPi库来控制GPIO引脚,需要在编译时链接该库:
```
gcc -o led_control led_control.c -lwiringPi
```
注意要将`led_control.c`替换为你的源代码文件名。编译后运行程序即可控制8个流水灯。
用C语言帮我写一个控制流水灯的程序
好的,这个问题可以回答。以下是 C 语言编写流水灯程序的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
#define LED_PIN_BASE 0 // 基准 LED 的 GPIO 编号
#define LED_COUNT 8 // 流水灯的 LED 数量
int main(void) {
if (wiringPiSetup() == -1) {
fprintf(stderr, "wiringPiSetup failed\n");
return 1;
}
// 初始化流水灯的 LED
for (int i = 0; i < LED_COUNT; i++) {
pinMode(LED_PIN_BASE + i, OUTPUT);
}
// 循环控制流水灯的亮灭
while (1) {
for (int i = 0; i < LED_COUNT; i++) {
digitalWrite(LED_PIN_BASE + i, HIGH); // 点亮当前 LED
delay(100); // 延时 100ms
digitalWrite(LED_PIN_BASE + i, LOW); // 熄灭当前 LED
}
}
return 0;
}
```
这个程序使用 WiringPi 库来控制 GPIO 引脚的电平,从而控制流水灯的亮灭。在控制流水灯的循环中,每个 LED 点亮 100ms 的时间,然后熄灭,接着下一个 LED 点亮,依次循环。
阅读全文