单片机流水灯
时间: 2023-07-24 08:17:53 浏览: 79
流水灯是单片机编程中最基本的应用之一,其原理是让多个 LED 灯按照一定的顺序依次亮灭,实现流水灯的效果。以下是一个简单的流水灯程序:
```c
#include <reg52.h> // 8051系列单片机头文件
sbit LED1 = P1^0; // 定义 LED1 的控制引脚
sbit LED2 = P1^1; // 定义 LED2 的控制引脚
sbit LED3 = P1^2; // 定义 LED3 的控制引脚
sbit LED4 = P1^3; // 定义 LED4 的控制引脚
void delay(unsigned int t) // 延时函数
{
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<125;j++);
}
void main()
{
while(1)
{
LED1 = 0; // LED1 亮
delay(500); // 延时 500ms
LED1 = 1; // LED1 灭
LED2 = 0; // LED2 亮
delay(500); // 延时 500ms
LED2 = 1; // LED2 灭
LED3 = 0; // LED3 亮
delay(500); // 延时 500ms
LED3 = 1; // LED3 灭
LED4 = 0; // LED4 亮
delay(500); // 延时 500ms
LED4 = 1; // LED4 灭
}
}
```
在程序中,我们首先使用 `sbit` 声明了四个 LED 灯的控制引脚,然后定义了一个延时函数 `delay`,用于控制 LED 灯的亮灭时间。接着在主函数中,我们使用一个死循环不断地执行 LED 灯的亮灭操作,每次亮灭一个 LED 灯并延时 500ms,然后再亮灭下一个 LED 灯,最后回到第一个 LED 灯继续循环。这样就实现了简单的流水灯效果。