#include<reg51.h>
void Delay1(int del)
{
int i,j;
for(i=0; i<del; i++)
for(j=0; j<1827; j++)
;
}
void Delay(unsigned int t)
{
while(--t);
}
//函數聲明
unsigned int z,y;
void main (void)//主函數
{
unsigned int CYCLE=400,PWM_LOW=0;//定義周期并賦值
while (1) //主循環
{
/*--------整排LED燈呼吸---------*/
Delay1(100); //加延時,可以看到熄滅的過程(下面程序同理)
for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++) //PWM_LOW表示低
{
P1=0x00;
Delay(PWM_LOW);
P1=0xff;
Delay(CYCLE-PWM_LOW);
}
P1=0xff;
for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--) //與逐漸變亮相反的過程
{
P1=0x00; //點亮LED
Delay(PWM_LOW);
P1=0xff; //熄滅LED
Delay(CYCLE-PWM_LOW); //主循環中添加其他需要一直工作的程序,延時長度,600次循環中從599減至1
}
}
}
|