HT46R064B/065B/066B
事件计数器模式时序图(TnEG=1)
脉冲宽度测量模式
定时/计数器工作在脉冲宽度测量这个模式,可以测量外部定时器引脚上的外部脉冲宽度。为使
定时/计数器工作在脉冲宽度测量模式,TnM1/TnM0 需要设置 1 和 1。
Bit7
Bit6
1
1
控制寄存器的模式选择位
在脉冲宽度测量模式中,fSYS,fSYS /4 或者 LXT 作为 8 位定时/计数器的内部时钟源,定时/计数
器 0 的时钟源可被预分频器进一步分频。分频比由预分频选择位 T0PSC2~T0PSC0,即定时控制寄
存器的第 2~0 位来确定。在设置完定时/计数控制寄存器其它位,定时器控制寄存器第 4 位,即 TnON
位需要设为逻辑高,才能使定时/计数器工作。然而,只有当在外部定时器引脚上接收到有效的逻辑
转换时,定时/计数器才真正开始启动计数。
当定时控制寄存器第 3 位,即 TnEG 设置为逻辑低时,每次外部定时器引脚接收到由高到低电
平的转换时将开始计数直到外部定时/计数器引脚回到它原来的高电平。此时使能位将自动清除为 0
以停止计数。而当 TnEG 为逻辑高时,每次外部定时器接收到由低到高电平的转换时将开始计数直
到外部定时/计数器引脚回到它原来的低电平。同样使能位将自动清除为 0 以停止计数。注意,在脉
冲宽度测量模式中,当外部定时器上的外部控制信号回到它原来的电平时,使能位将自动地清除为
0。而在其它两种模式,使能位只能在程序控制下清除为 0。
可以通过程序读取定时/计数器当前值,获得 TCn 外部引脚的信号脉冲宽度。当使能位重新复
位,任何出现在外部定时器引脚上信号脉冲将被忽略。直到使能位被程序重新置高,开始重新测量
外部脉冲。这种方式使得测量窄脉冲将会很容易实现。
注意,在这种模式下,定时/计数器是通过外部定时器引脚上的逻辑转换来控制,而不是通过逻
辑电平。当定时/计数器计满,即溢出时会产生中断信号且定时/计数器会重新加载预置寄存器的值,
然后继续向上计数。定时/计数器溢出中断可通过设置相应的中断寄存器中的定时/计数器使能位为 0
而禁止。
由于 TCn 引脚和普通输入/输出引脚共用,为了确保工作在脉冲宽度测量模式,要注意两点。
首先是要将定时/计数器的工作模式设定在脉冲宽度测量模式,其次是确定端口控制寄存器将这个引
脚设定为输入状态。
脉冲宽度测量模式时序图(TnEG=0)
预分频器
TMR0C 寄存器的 T0PSC0~T0PSC2 位用来确定定时/计数器的内部时钟的分频比,从而能够设
置更长的定时器溢出周期。
Rev 1.00
2011-04-13
43