求教下 定时中断服务程序的定时器重新开始计时.是赋值完之后就开始重新计时? 还是退

2020-02-04 09:35发布

void Timer0Interrupt(void) interrupt 1
{
    TH0 =0x63;
    TL0 =0x18;
        timer++;
    //add your code here!
}
有没有必要 先关闭定时器 重新赋值 然后开启定时器
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
gwdong
1楼-- · 2020-02-04 14:08
 精彩回答 2  元偷偷看……
wuzhisheng2007
2楼-- · 2020-02-04 15:55
回复【1楼】gwdong
-----------------------------------------------------------------------

嗯 这样是可靠 但是我看别人的程序大家都没有 这样做 所以还是先了解上面的原因先 嘻嘻
wuzhisheng2007
3楼-- · 2020-02-04 15:57
前辈们 真心求教呀
wuzhisheng2007
4楼-- · 2020-02-04 17:23
回复【3楼】wuzhisheng2007
-----------------------------------------------------------------------

真心求教呀
lwen512
5楼-- · 2020-02-04 18:06
如果要可靠,应该先关闭,重新赋值 然后开启
========================================
这说法是对的。
因为你要赋值的定时器是16位的,在你赋值的过程中,定时器是一直在动的。
在赋完高位未赋低位时,如果此时低位有进位,就会造成此次赋值出错(变成了0x6418)。
但这情况一般不会出现,因此大家都不怎么理它。
skype
6楼-- · 2020-02-04 18:37
 精彩回答 2  元偷偷看……