定时器控制单只LED


/* 名称定时器控制单只LED     
 说明LED在定时器的中断例程控制下不断闪烁。  
*/  
#include  

sbit LED=P0^0;   
int  T_Count=0;  

//T0中断函数  
void T0time() interrupt 1  
{  
 TH0=(8192-5000)/32; //装初值  
 TL0=(8192-1000)%32;  
 if(T_Count++==200) //1s开关一次LED, (5000us中断一次,T_count计数200次,也就是200*5000us=1000 000us=1s)
 {  
  LED=~LED;  
  T_Count=0;    
 }  
}

//主程序  
void main()  
{  
 TMOD=0x00;     //定时器0工作方式0  
 TH0=(8192-5000)/32; //5000us定时 书P91  5000us
 TL0=(8192-5000)%32;  
 TR0=1;  
 ET0=1;
 EA=1;
 
}