程序运行到这里就死循环了,
while
(1)
{
led2
=
0;
}
后边的代码是无缘运行的。
程序运行首先从地址0000H开始,跳转到主程序入口也就是main()那里开始,所以真正有意义的运行第一条是:
zhi
=
0x01;
依次往下执行,到TR0=1;开始定时器开始计数,根据你的赋值,计数到50000之后,定时器0溢出,开始申请中断,进入中断服务程序
void
intt0()
interrupt
1
using
2
执行完中断后返回到主程序,你现在的情况是在while(1)那个死循环之中。
你说的那个while(1)后边的{
}里边的程序在执行完TR0=1之后就执行了,并一直在执行到中断开始。中断结束后又一直执行下去,一直反复如此。