51单片机用C语言写八位流水灯
时间: 2023-09-24 13:05:32 浏览: 343
51单片机流水灯C语言源程序
以下是51单片机用C语言写八位流水灯的代码:
```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 = 0x01; // 初始亮灯为第一盏
while(1) {
P0 = led; // 将灯亮起来
delay(500); // 延迟一段时间
led <<= 1; // 左移一位,下一盏灯亮起来
if(led == 0) led = 0x01; // 如果已经是最后一盏灯,回到第一盏
}
}
```
该程序使用了一个 `delay` 函数,用于延迟一段时间后再执行下一步操作。在主函数中,使用了一个 `led` 变量,用于记录当前亮着的灯是哪一盏。程序不断循环,每次将 `led` 左移一位,下一盏灯亮起来,直到最后一盏灯亮起来后,再回到第一盏灯重新开始。在每次亮灯后,使用 `delay` 函数延迟一段时间,使得灯能够流动起来。
阅读全文