#include?
unsigned int LED;
unsigned int a,i,m;
void yiwei();
void delay(unsigned int b);
void main()
TMOD=0x01; ?//T0為方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256; ? //初值
EA=1; ? //允許中斷
ET0=1;
while(1)
P2=0x00;
delay(2000);
LED = 0x7f;
m
=0;
for (i = 0 ;i < 8 ; i++)
{?
a=0;
TR0=1;
delay(100);
while(m);
delay(2000);
P2=0x00;
delay(2000);
LED = 0xfe;?
m=0;
for (i = 0 ;i < 8 ; i++)
a=1;
TR0=1;
delay(100);
while(m);
}
delay(2000); ? ? ?
}
}
void t0() interrupt 1 using 1
{ ?
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
m++;
if(m==20)
{
m=0;
yiwei(); ?
} ?
}
void yiwei()
{ ?
if(a==0)
{ ? ?
P2=LED;
LED = LED>>1; // 右移
LED = LED|0x80; ? ?
}
else
{ ? ?
P2 ?= LED;
LED = LED << 1; // 左移
LED = LED | 0x01; ?
}
}
void delay(unsigned int b)
{
unsigned char j;
for(b; b > 0; b--) //機器在這裏執行需要壹段時間 也就達到了延時效果
for(j = 255; j > 0; j--);
}
自己調試過,我12晶振