//呼吸灯
//author:Hawking
//date:2013.09.13
#include
sbit led=P0^0;
void delay(int x) //延时函数,要足够快,否则灯会闪烁,而不是慢慢变化。
{ int i,j;
for(i=x;i>0;i--);
}
void main()
{ int ledlx,cycle=400;
while(1) //由暗到亮,由亮到暗,不断循环
{
for(ledlx=0;ledlx
led=0;
delay(ledlx); //延时逐渐加大,led=0(亮)保持的时间越来越长,亮度随之变大。
led=1;
delay(cycle-ledlx); //延时减短,led=1(灭)保持的时间越来越短,结合上一句,整体亮度变大
}
for(ledlx=cycle;ledlx>0;ledlx--)//有亮到暗
{
led=0;
delay(ledlx); //延时逐渐减短,led=0(亮)保持的时间越来越短,亮度随之变小。
led=1;
delay(cycle-ledlx); //延时增长,led=1(灭)保持的时间越来越长,结合上一句,整体亮度变小
}
}
}