打印

有个概念不是很清楚

[复制链接]
1399|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
guoyt|  楼主 | 2011-1-3 11:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TIME0到底怎么工作的?
沙发
hanwe| | 2011-1-3 11:55 | 只看该作者
TIMER0在芯片上电后即开始工作啊

使用特权

评论回复
板凳
yufe| | 2011-1-3 12:13 | 只看该作者
理论上第一个TIMER0中断的时间是从0到你定时的时间之间的一个随机值

使用特权

评论回复
地板
guoyt|  楼主 | 2011-1-3 12:31 | 只看该作者
中断响应和处理时,TL0和TH0重载会受影响吗?

使用特权

评论回复
5
yufe| | 2011-1-3 12:46 | 只看该作者
这个不会

使用特权

评论回复
6
guoyt|  楼主 | 2011-1-3 13:09 | 只看该作者
那当定时器0对应的IRQ(中断请求标志位)置1后,此时IE(中断使能)未打开,定时器0重载后是等待IE(中断使能)打开处理完中断开始递增计数,还是一直处于工作状态不断循环溢出重载

使用特权

评论回复
7
guoyt|  楼主 | 2011-1-3 13:10 | 只看该作者
与IRQ,IE没有关系?

使用特权

评论回复
8
yufe| | 2011-1-3 13:38 | 只看该作者
IRQ置1后,此时无论IE是否打开,定时器0会自动重载并继续计数.

使用特权

评论回复
9
guoyt|  楼主 | 2011-1-3 14:40 | 只看该作者
哦,明白了

使用特权

评论回复
10
刘前辈| | 2011-1-6 15:11 | 只看该作者
#8楼:
IRQ置1后,此时无论IE是否打开,定时器0会自动重载并继续计数.


中颖TIMER0 真有这么厉害?我怎么好像觉得16位定时器应用只有TIMER2才能自动重载,其它TIMER0,TIMER1都只能在溢出中断中用程序赋值加载,否则,T0/T1 达到FFFFH溢出后只能从0000开始计数而不会自动重载。——除非是作为8位波特率发生器使用才是真正自动重载,那时与溢出中断无关,必须关闭溢出中断。


使用特权

评论回复
11
刘前辈| | 2011-1-6 15:15 | 只看该作者
2楼
TIMER0在芯片上电后即开始工作啊


上电后,TR0=0,它怎么开始工作?

/

使用特权

评论回复
12
刘前辈| | 2011-1-7 09:51 | 只看该作者
本帖最后由 刘前辈 于 2011-1-7 09:55 编辑
3#
理论上第一个TIMER0中断的时间是从0到你定时的时间之间的一个随机值。


呵,51的计数器是正向++的,加到0xFFFF+1,溢出中断;所以,理论上第一个TIMER0中断的时间是从你定时的时间(负值)++到0的精确确定时间。——Intel 没那么差。

举个例子,如果你需要T0定时20ms,那么赋值语句伪码就是T0= - 20000; //12M晶振时。
打开T0,计数器从 - 20000开始计数,直到0溢出中断;这个过程的时间是确定的。不是随机的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1018

主题

9067

帖子

3

粉丝