关于定时器里的细节问题

2019-07-16 03:41发布

本帖最后由 zhenglingo 于 2012-11-19 10:34 编辑

请问大神们   51单片机里的定时器 不是自动重装的模式下   在初始化给TH0  TL0装上值,然后溢出进入中断(此时已经允许中断),重新装值,请问此时TH0,TL0是出中断以后开始计数还是一进中断装上值就开始计数?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zhenglingo
1楼-- · 2019-07-16 05:42
前辈们都在那里啊?
3htech
2楼-- · 2019-07-16 06:26
很好的一个问题。

定时器溢出后,如果不是自动重装初值,那么TH0,TL0会从0开始向上记数。在进入中断后,定时器还是一直在运行的。

如果是初值自动重装,具体是在先进中断还是先赋初值,我还真不知道。
zhenglingo
3楼-- · 2019-07-16 10:15
 精彩回答 2  元偷偷看……
yatoo
4楼-- · 2019-07-16 12:00
本帖最后由 yatoo 于 2012-11-19 11:53 编辑
zhenglingo 发表于 2012-11-19 10:40
但是自动重装不需要进入中断啊  会自动重装后就计数啊       那你的意思就是说不是自动重装模式下 溢出后 ...

定时器和cpu是并行的模块,cpu除了访问他的寄存器来达到控制定时器的目的,其他的还真的控制不了,所以我觉得,在中断响应的时候,定时器仍然在运行。。。。楼主可以故意在中断服务程序中加一个大的延时看看结果...........

不过你说,要是不是自动重载值得情况,我也晓不得具体怎么回事,一般的都是,进IRQ时候关闭定时器,出来前打开
lstcspring
5楼-- · 2019-07-16 16:59
如果要连续定时,一般进中断马上给定时器赋初值

一周热门 更多>