main函数中while(1)之前的代码是赋初值操作,是为中断调用使用的。
之所以有while(1)是为了使得程序一直在运行,所以才有中断操作的不断执行,否则程序只运行一次就终止啦。
while(1)是一个死循环,就是让单片机一直执行while(1);或者执行中断程序。如果不加的话,程序会不断的复位执行main函数,这样中断就进不去了。
我认为,当执行完TR1=1后,会先执行while(1),因为你初始化定时器时,设定的定时时间是50ms,只有等while(1)循环时间到了50ms,才会去执行中断服务程序。
如果没有WHILE(1);程序直接执行完了就什么都不做了。
每个程序都有一个主循环,而且是死循环。
我们操作系统也是。