51单片机8个流水灯编程
时间: 2023-12-27 12:04:58 浏览: 25
以下是51单片机8个流水灯的编程:
```
#include <reg51.h>
sbit LED1 = P1^0;
sbit LED2 = P1^1;
sbit LED3 = P1^2;
sbit LED4 = P1^3;
sbit LED5 = P1^4;
sbit LED6 = P1^5;
sbit LED7 = P1^6;
sbit LED8 = P1^7;
void main() {
while(1) {
LED1 = 1;
LED2 = 0;
LED3 = 0;
LED4 = 0;
LED5 = 0;
LED6 = 0;
LED7 = 0;
LED8 = 0;
delay(500);
LED1 = 0;
LED2 = 1;
LED3 = 0;
LED4 = 0;
LED5 = 0;
LED6 = 0;
LED7 = 0;
LED8 = 0;
delay(500);
LED1 = 0;
LED2 = 0;
LED3 = 1;
LED4 = 0;
LED5 = 0;
LED6 = 0;
LED7 = 0;
LED8 = 0;
delay(500);
LED1 = 0;
LED2 = 0;
LED3 = 0;
LED4 = 1;
LED5 = 0;
LED6 = 0;
LED7 = 0;
LED8 = 0;
delay(500);
LED1 = 0;
LED2 = 0;
LED3 = 0;
LED4 = 0;
LED5 = 1;
LED6 = 0;
LED7 = 0;
LED8 = 0;
delay(500);
LED1 = 0;
LED2 = 0;
LED3 = 0;
LED4 = 0;
LED5 = 0;
LED6 = 1;
LED7 = 0;
LED8 = 0;
delay(500);
LED1 = 0;
LED2 = 0;
LED3 = 0;
LED4 = 0;
LED5 = 0;
LED6 = 0;
LED7 = 1;
LED8 = 0;
delay(500);
LED1 = 0;
LED2 = 0;
LED3 = 0;
LED4 = 0;
LED5 = 0;
LED6 = 0;
LED7 = 0;
LED8 = 1;
delay(500);
}
}
void delay(unsigned int t) {
unsigned int i, j;
for(i=0; i<t; i++) {
for(j=0; j<125; j++) {
}
}
}
```
在这个程序中,我们定义了8个LED灯的引脚,并使用while循环来不断循环8个LED灯的亮灭。每个LED灯都会依次点亮,并在延迟500毫秒后熄灭,然后下一个LED灯点亮。我们使用了delay()函数来实现延迟,这个函数会使程序在循环中暂停一段时间。