main()函数末尾要加while(1);不然会一直重复执行main()函数
尝试这样
#include "reg52.h"
unsigned char num;
void main()
{
P0=0x00; //点亮led
TMOD = 0x01;
TL0 = 0xf0;
TH0 = 0xd8;
ET0 = 1;
EA = 1;
TR0 = 1; //定时器/计数器0启动
while(1); //此时开始等待中断
}
void timerms (void) interrupt 1
{
num++;
if(num == 20)
{
P0=0xff;
num = 0;
}
TL0 = 0xf0;
TH0 = 0xd8;
}