/* 名称定时器控制单只LED
说明LED在定时器的中断例程控制下不断闪烁。
*/
#include<reg51.h>
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;
}