C 语言实现:按 P0.0、P0.1、P0.2 键让 16 盏 LED 实现流水、逐一点亮和闪烁效果
以下是用 C 语言实现上述功能的代码示例: ```c #include <stdio.h> #include <wiringPi.h> // 定义 LED 引脚数量 #define LED_NUM 16 // 定义 LED 引脚数组 int ledPins[LED_NUM] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; // 流水效果函数 void waterFlowEffect() { for (int i = 0; i < LED_NUM; i++) { digitalWrite(ledPins[i], HIGH); // 点亮当前 LED delay(100); // 延时 digitalWrite(ledPins[i], LOW); // 熄灭当前 LED } } // 逐一点亮函数 void oneByOneLight() { for (int i = 0; i < LED_NUM; i++) { digitalWrite(ledPins[i], HIGH); // 点亮当前 LED delay(500); // 延时 } } // 闪烁函数 void blinkThreeTimes() { for (int i = 0; i < 3; i++) { // 闪烁三次 for (int j = 0; j < LED_NUM; j++) { digitalWrite(ledPins[j], HIGH); // 点亮所有 LED } delay(500); // 延时 for (int j = 0; j < LED_NUM; j++) { digitalWrite(ledPins[j], LOW); // 熄灭所有 LED } delay(500); // 延时 } } int main() { // 初始化 wiringPi 库 if (wiringPiSetup() == -1) { printf("Setup wiringPi failed!\n"); return 1; } // 设置 LED 引脚为输出模式 for (int i = 0; i < LED_NUM; i++) { pinMode(ledPins[i], OUTPUT); } while (1) { // 检测 P0.0 按键是否按下 if (digitalRead(0) == HIGH) { waterFlowEffect(); } // 检测 P0.1 按键是否按下 if (digitalRead(1) == HIGH) { oneByOneLight(); } // 检测 P0.2 按键是否按下 if (digitalRead(2) == HIGH) { blinkThreeTimes(); } } return 0; } ``` 额外需要注意的逻辑点: 1. 确保所使用的开发板支持 `wiringPi` 库,并且引脚定义正确。 2. 注意延时时间的设置,以达到理想的显示效果。 3. 要考虑按键的消抖处理,避免误触发。 ######[AI写代码神器 | 694点数解答 | 2024-11-27 15:17:02]
- 8051单片机代码详解:按钮控制LED闪烁及消抖原理(讯飞星火 | 697点数解答 | 2024-10-29 14:54:31)294
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)352
- C51 程序:利用外部中断 0 边沿触发实现 P2 口 8 个 LED 依次点亮及代码分析(DeepSeek | 228点数解答 | 2025-06-22 23:18:42)179
- 51单片机外部中断0实现LED流水灯:代码详解与要点提醒(DeepSeek | 214点数解答 | 2025-06-22 23:19:09)211
- 优化星空代码:从可读性到性能与交互的全面提升(字节豆包 | 171点数解答 | 2025-03-15 23:59:30)252
- 星空特效代码揭秘:从基础实现到性能优化全攻略(DeepSeek | 460点数解答 | 2025-03-16 00:00:00)203
- 256级灰阶图像压缩为16级灰阶的Python实现(字节豆包 | 675点数解答 | 2026-02-14 20:17:48)50
- 256级灰阶图像压缩为16级灰阶的C++实现方案(字节豆包 | 1080点数解答 | 2026-02-14 20:19:02)38
- 51 单片机按键控 LED:代码详解、优化与注意事项揭秘(DeepSeek | 326点数解答 | 2025-06-22 23:19:40)234
- 8051单片机代码:按钮控制LED状态切换代码详细注释解析(讯飞星火 | 830点数解答 | 2024-10-29 15:29:41)318
- 8051单片机代码:带详细注释的按键控制LED程序解析(讯飞星火 | 693点数解答 | 2024-10-29 15:31:00)439
- 8051 单片机:修正代码实现按钮控制 LED 及去抖逻辑(讯飞星火 | 570点数解答 | 2024-10-29 15:32:29)279