你的程序能进入中断服务,但是每次进入中断,你没有让变量j递增,所以j的值永远是0,就永远不会让LED闪烁了。你把程序改成这样:if(j>=66){ ....}else j++;另外,尽量不要在中断中进行延时,虽然你这里是没有什么影响,但这种写法应该尽量避免。
AT89S52内部没有定时器2.STC的有些芯片内部有。