单片机C51实战:P2口实现8个灯上下循环依次点亮,代码详解!
```c #include <reg52.h> void delay(unsigned int time) { unsigned int i, j; for (i = 0; i < time; i++) for (j = 0; j < 125; j++); } void main() { unsigned char led = 0xFE; // 1111 1110 int i; while (1) { for (i = 0; i < 7; i++) { P2 = led; delay(1000); led = (led << 1) | 0x01; } for (i = 0; i < 7; i++) { P2 = led; delay(1000); led = (led >> 1) | 0x80; } } } ``` 这段代码可以让8个灯从下往上,再从上往下依次点亮,使用P2口连接灯。其中,通过将led从左往右(或者从右往左)进行移位,整体达到灯渐亮(或灯渐灭)的效果。delay函数用于实现延时,让灯的变化更加明显。 ######[AI写代码神器 | 483点数解答 | 2024-10-11 17:03:14]
相关提问
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)345
- C51 程序:利用外部中断 0 边沿触发实现 P2 口 8 个 LED 依次点亮及代码分析(DeepSeek | 228点数解答 | 2025-06-22 23:18:42)176
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)495
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)381
- C51 编程:外部中断 0 边沿触发控制 P2 口 8 个 LED 依次点亮(字节豆包 | 41点数解答 | 2025-06-22 11:25:54)160
- C51实现外部中断0边沿触发,让P2口8个LED依次点亮的程序详解(DeepSeek | 400点数解答 | 2025-06-22 21:21:28)118
- C51 编程:开关状态控制 LED 闪烁与常亮,中断触发实现! (字节豆包 | 421点数解答 | 2024-11-11 12:43:19)238
- 51 单片机:中断触发,开关状态点亮 LED 并闪烁控制全解析(百度文心 | 1343点数解答 | 2024-11-11 19:35:36)353
- C52编程:利用P1开关与P2 LED,借P3.3中断实现闪烁与常亮效果 (百度文心 | 1029点数解答 | 2024-11-11 19:37:19)302
- C51编程:利用P1口开关和P2口LED,响应P3.3中断实现闪烁控制(百度文心 | 1077点数解答 | 2024-11-11 19:37:27)350
- 51 单片机:8 只发光二极管闪烁 3 次后随开关状态亮灭的代码实现及优化探讨 (字节豆包 | 377点数解答 | 2024-11-26 18:19:50)174
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)375