#include
#define Frequency 12 //晶振几M的就改成几
#define Time 5000*(Frequency/12)
unsigned char counter=0;
void initT0()
{ TMOD=0x01;
TH0=-Time/256;
TL0=-Time%256;
ET0=1;
EA=1;
TR0=1;
}void intT0(void)interrupt 1
{
counter++;
TH0=-Time/256;
TL0=-Time%256;
if(counter==100)
{ P1=~P1;
counter=0; //定时器计5000次,counter 计100次,总计500000=500ms.
}
}
void main(void)
{
P1=0;
initT0();
while(1);
}//实测图。如下: