#define uint unsigned int
uint i=0;
void delay(uint z) //延遲函數(shù)
{
uint x,y;
for(x=z;x>0;x--)
for(y=20;y>0;y--);
}
void main (void)
{
TMOD=0x10; //TMOD賦值,以確定T0和T1的工作方式
TH1=(65536-50000)/256; //計算初值,并將其寫入TH0、TL0或TH1、TL1
TL1=(65536-50000)%6;
EA=1; //打開總中斷
ET1=1; //打開定時器1中斷
TR1=1; //啟動定時器1
while(1)
{
if(i==20) //定時器計數(shù)時間20*50MS=1S
{
i=0; //清除標志位
P0=0xaa;
delay(500);
P0=0xff;
delay(500);
}
}
}
void exter1() interrupt 3 //定時器1中斷函數(shù)
{
TH1=(65536-50000)/256; //中斷函數(shù)中也需要賦定時器初值
TL1=(65536-50000)%6;
i++; //定時器每50MS就使i加一
}