在主程序中设置定时器的初值后为什么还要在中断子程序中重新设置初值

如题所述

初值在运行过程中计数器的不断加1,直到溢出时产生中断。因为这种定时方式(有的方式可以自动重置的),单片机不能重置初值,所以进入中断后必须人工重置初值,为下一次中断作准备。

主函数里的是初始化的初值。因为有的定时方式,定时器溢出时,单片机没有重装初值的功能。所以定时函数里要重装初值。可以设置不同的值,但定时时间主要是以重装的来计了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-30
初值在运行过程中计数器的不断加1,直到溢出时产生中断。因为这种定时方式(有的方式可以自动重置的),单片机不能重置初值,所以进入中断后必须人工重置初值,为下一次中断作准备。本回答被提问者采纳
第2个回答  2011-07-23
51单片机定时器方式0,方式1,都不能自动重新置初值。当溢出后,定时器的TLI,THI已经变成了0,而我们是从计数初值开始计数才正确,所以需要重新赋初值。
方式2可以自动重装,所以不需要。
相似回答