51单片机 定时问题

TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
TR0=1;
1.程序执行到这里的时候,是停在这里计数1000个机器周期,再执行下一条语句;还是程序继续执行下一条语句,计数溢出时TF0=1。
2.定时器的在程序里是怎么执行的?

1、对TH0、TL0赋值,且启动定时器(TR0=1)后,定时器开始工作。程序继续向下执行,不会停止(除非有语句要求其停止),直到定时器寄存器溢出,TF0=1。

2、启动完定时器后,晶振周期通过12分频,得到机器周期,每一个机器周期,TL0加1,TL0溢出后,TH0加1。直至TH0溢出。整个过程由硬件完成,软件只需要关心定时器模式,定时时间长短,及定时器的启动与停止。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-09
跟平时用闹钟似的,当你把闹钟定时到9点(相当于对th0,tl0设置并开始计时tr0=1)的时候,就可以不用理它了,忙自己的就行了,等到9点的时候,闹钟会响,这时候执行中断的程序。
第2个回答  2011-07-09
继续执行,不会等待的
第3个回答  2011-07-18
定时器记满1000个数时,也即10ms后,TF0=1,计数器零发送益处中断标志,将会执行所写的中断程序 ,接下来程序怎么执行,将看程序怎么写,若未让定时器0关闭 ,即未写TR0=0;定时器件将继续工作。定时器益出时,将进入所写中断
void timer0 ( ) interrupt 1
{
```````````;
}
用中断控制以后程序。