#include <reg52.h>     //包含52系列单片机头文件
unsigned char a,num;   //两个变量声明
sbit LED1=P1^0;      //位地址声明，sbit必须小写，P为大写
void main()
{
	num=0;          //给num赋值为0
	EA=1;           //开总中断
	ET0=1;          //开定时器0分开关
	TMOD=0X01;    //设置为方式1
	TH0=(65536-50000)/256;   //给定时器0装初值，12M晶振定时时间为50ms
	TL0=(65536-50000)%256;  
	TR0=1;   //启动定时器0
	while(1)
	{
		if(num==20)   //如果到了20次，说明1秒时间到了
		{
			num=0;   //然后把num的值清0，重新再计20次
			LED1=~LED1;  //让小灯状态取反
		}
	}
}

void time0() interrupt 1    //中断服务程序，其中“1”是定时器0入口序
{
	TH0=(65536-50000)/256;   //重装初值，12M晶振隔间50ms重装一次
	TL0=(65536-50000)%256;
	num++;  //每中断一次，num的值加1
}