C51单片机实现呼吸灯效果的步骤和代码详解
呼吸灯的效果是灯的亮度由暗缓慢变亮再缓慢变暗。
实现思路是改变小灯亮与暗在单位周期的占空比。如下图
具体代码如下:
#include<reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit LED=P2^0;
void delay(u16 i)
{
while(i--);
}
void main()
{
u16 i;
while(1)
{
for(i=10;i<=2000;i=i+10)
{
LED=0; //亮
delay(i);
LED=1; //灭
delay(2000-i);
} //呼吸灯由暗变亮
for(i=2000;i>=10;i=i-10)
{
LED=0; //亮
delay(i);
LED=1; //灭
delay(2000-i);
} //呼吸灯由亮变暗
}
}