单片机一个程序五种LED灯变化代码
时间: 2023-05-29 21:07:18 浏览: 37
以下是一个单片机程序,实现五种LED灯变化:
```c
#include <reg51.h>
sbit LED1 = P2^0;
sbit LED2 = P2^1;
sbit LED3 = P2^2;
sbit LED4 = P2^3;
sbit LED5 = P2^4;
void delay(unsigned int t) //延时函数
{
unsigned int i, j;
for(i = t; i > 0; i--)
for(j = 110; j > 0; j--);
}
void main()
{
while(1)
{
//第一种:所有LED同时亮
LED1 = 1;
LED2 = 1;
LED3 = 1;
LED4 = 1;
LED5 = 1;
delay(500);
//第二种:第一个LED亮,其他LED灭
LED1 = 1;
LED2 = 0;
LED3 = 0;
LED4 = 0;
LED5 = 0;
delay(500);
//第三种:第二个LED亮,其他LED灭
LED1 = 0;
LED2 = 1;
LED3 = 0;
LED4 = 0;
LED5 = 0;
delay(500);
//第四种:第三个LED亮,其他LED灭
LED1 = 0;
LED2 = 0;
LED3 = 1;
LED4 = 0;
LED5 = 0;
delay(500);
//第五种:第四个LED亮,其他LED灭
LED1 = 0;
LED2 = 0;
LED3 = 0;
LED4 = 1;
LED5 = 0;
delay(500);
//第六种:第五个LED亮,其他LED灭
LED1 = 0;
LED2 = 0;
LED3 = 0;
LED4 = 0;
LED5 = 1;
delay(500);
}
}
```
在此程序中,使用了5个LED灯,分别对应P2口的0~4位。程序通过循环,让LED灯按照不同的方式变化。每次变化的间隔为500毫秒,可以通过修改delay()函数的参数来改变间隔时间。