单片机流水灯循环程序
时间: 2023-08-02 19:15:19 浏览: 103
下面是一个基于51单片机的流水灯循环程序,可以参考一下:
```c
#include <reg52.h> // 51单片机头文件
sbit LED1 = P1^0; // 定义LED1引脚
sbit LED2 = P1^1; // 定义LED2引脚
sbit LED3 = P1^2; // 定义LED3引脚
sbit LED4 = P1^3; // 定义LED4引脚
sbit LED5 = P1^4; // 定义LED5引脚
sbit LED6 = P1^5; // 定义LED6引脚
sbit LED7 = P1^6; // 定义LED7引脚
sbit LED8 = P1^7; // 定义LED8引脚
void delay(unsigned int i) // 延时函数
{
unsigned int j,k;
for(j=0;j<i;j++)
for(k=0;k<125;k++);
}
void main()
{
while(1)
{
LED1 = 0; // 点亮LED1
delay(500); // 延时
LED1 = 1; // 熄灭LED1
LED2 = 0; // 点亮LED2
delay(500); // 延时
LED2 = 1; // 熄灭LED2
LED3 = 0; // 点亮LED3
delay(500); // 延时
LED3 = 1; // 熄灭LED3
LED4 = 0; // 点亮LED4
delay(500); // 延时
LED4 = 1; // 熄灭LED4
LED5 = 0; // 点亮LED5
delay(500); // 延时
LED5 = 1; // 熄灭LED5
LED6 = 0; // 点亮LED6
delay(500); // 延时
LED6 = 1; // 熄灭LED6
LED7 = 0; // 点亮LED7
delay(500); // 延时
LED7 = 1; // 熄灭LED7
LED8 = 0; // 点亮LED8
delay(500); // 延时
LED8 = 1; // 熄灭LED8
}
}
```
在此程序中,我们使用了一个while(1)循环,不停地让8个LED灯依次点亮和熄灭,形成流水灯的效果。每个LED灯的点亮和熄灭之间还有一个延时函数delay()来控制时间间隔。
阅读全文