admin管理员组

文章数量:1530819

2024年7月17日发(作者:)

芯片资料 第16章 定时模块

1、介绍:

包含8个输入捕捉/输出对比通道和一个脉冲了累加器。

输入捕捉:用于探测一个事先选择好的边缘电平,并记低其时间。

输出比较:用于产生输出信号或定时器软件延时。

脉冲累加器:作为一个简单的时间计数器或一个门控时间累加器。(在事件模式下,共用通

道7)

注意:当访问计数寄存器或输入捕捉/输出对比寄存器时要注意进行一个字读取(一个时钟

周期内),不然高低位不匹配!!!

2、特征:(1)、8路输入捕捉/输出比较通道

(2)、时钟分频器

(3)、16位计数器

(4)、16位脉冲累加器

3、各种模式下TIM模块的活动 P460

4、寄存器 P464

(1)、TIOS:

Timer Input Capture/Output Compare Select

对应通道的输入捕捉/输出比较选择位 0-输入捕捉,1输出比较

(2)、CFORC:

Timer Compare Force Register (强制输出比较)

读取总为0(因为1是瞬态的) 没认真看

将寄存器中的对应位置位会强迫输出比较X通道立即生效,效果与一个成功

的比较相同,当中断标志位不置位(TCx)。

注意:通道7的事件计数,当TTOV[7]被置位时,产生溢出,或者通道7上

一个成功的输出比较,上两种情况,均优先于其它通道的输出比较。如果强制输出比较与一

个成功的输出比较同时产生,强制输出比较优先,但不将中断位置位。

(3)、OC7M:

Output Compare 7 Mask Register (输出比较屏蔽寄存

器)

不明白…

(4)、OC7D:

Output Compare 7 Data Register

不明白…

(5)、TCNT:定时器计数寄存器 分TCNTH、TCNTL 只读

这个16位计数器为一个增加计数器(读取需要在一个时钟周期内完成!!!)

(6)、TSCR1:

Timer System Control Register 1

定时器系统控制寄存器1。

TEN:时钟允许位。1使能

TSWAI、TSFRZ:等待、冻结模式下时钟是否使能;

TFFCA:快速清除标志位(不建议设置)

PRNT:定时器分频!!!(此位只能写入一次)

(7)、TTOV:

Timer Toggle On Overflow Register 1

定时器溢出触发寄存器,TOVx置一时,定时器溢出时触发输出比较,这个功

能只能在输出比较模式下可用,当置位,此功能优先于强制输出比较,但比通道7的事件功

能低级。 1使能;0禁止

(8)、TCTL1、TCTL2:

Timer Control Register 1/Timer Control Register

2

(与输出比较有关) 没详细看

(9)、TCTL3、TCTL4:

Timer Control Register 3/Timer Control Register

选择输入捕捉的方式!!!

4

(10)、TIE:

Timer Interrupt Enable Register

输入捕捉/输出比较x的中断使能位。当一个通道产生一个输入捕捉/输出比较时,

TFLG1中的对应位就会置一,若对应的TIE位=1,则允许产生中断!!!

(11)TSCR2:

Timer System Control Register 2

TOI:定时溢出中断使能位。1使能

TCRE:此位置1时,一个成功的通道7输出比较将会使定时器复位(清零)。1有效。后面

还有说明(没认真看)…

PR[2:0]:定时器分频选择。

注意:新的分频不会立刻生效

(12)、TFLG1:

Main Timer Interrupt Flag 1

当有输入捕捉/输出比较产生时,对应的位就会被置1,若对应的TIE位=1,则允

许产生中断。写入1清零,写入0无影响!!!(TIE=1或PAEN=1的情况下写入1)

注意:当TSCR1中的TFFCA被置位时(即允许快速清除标志位功能使能),输入捕捉

或输出比较后,此寄存器对应位自动被清零(0x0010-0x001F这个不知道是不是指对应的通

道地址)

(13)、TFLG2:

Main Timer Interrupt Flag 2

TOF:定时溢出标志位。当16位独立时钟从0x0000-0xFFFF溢出时此位被置一。清除此位:

向TOF写入1(当TSCR1中的TEN=1,或PACTL中的PAEN=1)

注意:如果快速清除标志位功能使能(TSCR中的TFFCA=1),则每次访问TCNT寄存器均

会引起TOF清零

(14)、TCxH和TCxL:

Timer Input Capture/Output Compare Registers

High and Low 0–7

此寄存器的作用取决于TIOS的初始化!!!

输入捕捉状态下:当通道x产生输入捕捉时,TCxH和TCxL自动锁存TCNT(定时器

内容)的值。

输出比较状态下:用于设定何时在x通道处产生输出比较信号。

在输出比较状态下,写入无限制,但输入捕捉状态下,写入无效,复位后清零。

注意:按字节读/写时,高位应该先于低位,不然出错!!!

(15)、PACTL:

16-Bit Pulse Accumulator Control Register

当PAEN=1,PACT使能,PACT与IOC7共用一个输入引脚

PAEN:PACT使能位,PAEN=1,PACT使能

PAMOD:脉冲计数器的模式(PAEN=1时有效),PAMOD=0,事件计数模式,PAMOD=1,

门时间计算模式。

PEDGE:PAEN=1时此位有效,

PAMOD=0(事件计数模式):PEDGE=0,IOC7下降沿计数器递增

PEDGE=1,IOC7上升沿计数器递增

PAMOD=1(门时间计算模式):PEDGE=0,IOC7当遇到下降沿时,IOC7输入一个高

电平(总线时钟/64),并将PAIF置位

PEDGE=1,IOC7当遇到上升沿时,IOC7输入一个低

电平(总线时钟/64),并将PAIF置位

CLK[1:0]:

注意:若TEN=0,则时钟不生效。

(16)、PAFLG:

Pulse Accumulator Flag Register

当TSCR中的TFFCA=1时,每次访问PACNT寄存器均会导致PAFLG中的内容清零

要清除此寄存器中的位,TEN或PAEN必须=1

PAOVF:当脉冲计数器从0xffff-0x0000溢出时,此位置1。向此位写入1清零。

PAIF:事件计数模式下,检测到相应的边沿时,门事件计算模式下,检测到相应的边沿时,

置位

(17)、PACNT:

Pulse Accumulators Count Registers

当检测到一个有效的边沿,立刻读取,此寄存器时,可能会引起丢失(最后一次),

因为,输入必须线与时钟同步!!!

(18)、OCPD:

Output Compare Pin Disconnect Register

没认真看

(19)、PTPSR:

Precision Timer Prescaler Select Register

指定分频器!!!,只有在TCSR1中的 PRNT=1时有效

5、功能描述:

(1)、分频器:分频器可将总线时钟除以1,2,4,8,16,32,64,128;通过TSCR2寄

存器中的 PR[2:0]选择(注:TIM提供两种定时,一种传统定时,可用此分频器分频,

另一种精确计时器,则需设置TSCR1寄存器中的PRNT位)

(2)、输出捕捉:当外部事件触发时,将定时器的值送入TCx寄存器中。(最小脉冲宽度大

于两个总线时钟)

通道x的输入捕捉会设置CxF标志位,当CxI使能,CxF就会产生中断信号(当要清除CxF

writing one to CxF

】位时,定时模块或脉冲累加器模块必须要保持使能【TSCR1中的

TEN=1或PACTL中的PAEN=1】)

(3)、输出比较(没有详细了解,可查阅 P483):可以产生一周期脉冲(极性、持续时间、

频率均可编程决定)可用于在特定时间输出特定电平!!!

设置一个强制输出比较位FOCx,输出比较可用,但不会将标志位(中断)置位

本文标签: 输出捕捉输入