飞思卡尔单片机 DG128 Timer寄存器说明

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Timer寄存器说明

1、定时器/计数器系统控制寄存器1(TSCR1)

TSCR1 寄存器是定时器模块的总开关,它决定模块是否启动以及在中断等待、BDM 方式下的行为,还包括标志的管理方式。其各位的意义如下:

TEN:定时器使能位,此外它还控制定时器的时钟信号源。要使用定时器模块的IC/OC 功能,必须将TEN 置位。如果因为某种原因定时器没有使能,脉冲累加器也将得不到ECLK/64 时钟,因为ECLK/64 是由定时器的分频器产生的,这种情况下,脉冲累加器将不能进行引脚电平持续时间的累加。

0:定时器/计数器被禁止,有利于降低功耗。

1:定时器/计数器使能,正常工作。

TSWAI:等待模式下计时器关闭控制位。

【注意】定时器中断不能用于使MCU 退出等待模式。

0:在中断等待模式下允许MCU 继续运行。

1:当MCU 进入中断等待模式时,禁止计时器。

TSFRZ:在冻结模式下计时器和计数器停止位。

0:在冻结模式下允许计时器和计数器继续运行。

1:在冻结模式下禁止计时器和计数器,用于仿真调试。

【注意】TSFRZ 不能停止脉冲累加。

TFFCA:定时器标志快速清除选择位。

0:定时器标志普通清除方式。

1:对于TFLGl($0E)中的各位,读输入捕捉寄存器或者写输出比较寄存器会自动清除相应的标志位CnF。对于TFLG2($0F)中的各位,任何对TCNT 寄存器($04、$05)的访问均会清除TOF 标志;任何对PACN3 和PACN2 寄存器($22,$23)的访问都会清除PAFLG 寄存器($21)中的PAOVF 和PAIF 位。任何对PACN1 和PACN0 寄存器($24,$25)的访问都会清除PBFLG 寄存器($21)中的PBOVF 位。

【说明】这种方式的好处是削减了另外清除标志位的软件开销。此外,必须特别注意避免对标志位的意外清除。

2、计时器系统控制寄存器2(TSCR2)

寄存器偏移量:$000D

TOI:定时器/计时器溢出中断使能。

0:中断被禁止。

1:当TOF 标志被置位时发出硬件中断请求。

【注意】TOF标志位在TFLG中

TCRE:定时器/计数器复位使能。

该位在通道7 成功输出比较之后允许时钟计数器复位。该操作模式类似于递增型计数器。

0:计数器复位禁止,计数器自由计数。

1:通道7 成功输出比较后计数器将被复位。

【说明】如果TC7=$0000 并且TCRE=1,TCNT 将继续保持$0000。

如果TC7=$FFFF 并且TCRE=1,当TCNT 从$FFFF 到$0000 之间被复位后TOF 将永远不被置位。

PR2,PR1,PR0:计数器预分频选择。

【说明】新设定的分频因子不会立即起作用,直到下一个触发沿到来那里所有预分频计数器值均为零。

3、控制寄存器(TCTLl-TCTL4)

TCTLl-TCTL4 分为两组,分别对IC 和OC 电路进行设定,每组16 个二进制位,每两个二进制位管理一个通道。其中TCTLl、TCTL2 设定各个OC 通道匹配时的动作,包括切断OC 与输出引脚的联系,而TCTL3、TCTL4 设定IC 响应引脚的何种动作,包括禁止IC 的响应。

OMn、OLn 分别设定输出方式和输出电平,这8 对控制位(OM7、OL7---OMO、OL0)编码后用于指定通道比较成功后的输出动作。如果每对当中至少有一个为1,对应引脚就固定为相应通道的输出,而与DDRT 中的对应位无关。当二者同时为0 时,OC 与输出引脚断开。

输出比较动作设置

TCTL3 寄存器偏移量:$000A

TCTL4 寄存器偏移量:$000B

各个控制位的作用如下:

EDGnB、EDGnA 输入捕捉边沿控制位,这8 对控制位(EDG7B、EDG7A—EDG0B、EDG0A)对输入捕捉的边沿检测电路进行设置。当二者同时为0 时,IC 与输入引脚断开。

【注意】为了使OMn、OLn 指定的引脚动作有效,OC7M 中的对应位必须清0。若要使用16 位脉冲累加器A 和B,并使它们分别独立于IC/OC7 和IC/OC0,必须设置对应的IOSn:1、OMn=0、OLn=0,同时寄存器OC7M 中的OC7M7、OC7M0 位必须清0。

4、主定时器中断标志寄存器(TFLG1、TFLG2)

所示的TFLG1、TFLG2 为中断标志寄存器,其中TFLG1 对应8 个IC/OC 通道,当某CnF=1 时说明对应的IC/OC 通道有动作,表明该通道有中断事件发生。TFLG2 只有一个标志位TOF,作为核心计数器的中断请求标志。当TOF=1 时说明核心计数器溢出。要清除某个标志位,只需向该位写1,向某位写0 不影响该位的状态。当TSCR 中的TFFCA 位置位时,读IC 通道或写OC 通道($10-$1F)将自动清除该通道标志CnF,对TCNT 的任何访问将自动清除TFLG2。

CnF:IC/OC 通道中断请求标志。

0:上次清除标志以来,IC/OC 通道没有有效动作。

1:IC/OC 通道已经出现动作。将寄存器ICSYS($2B)中的TFMOD 位和ICOVW 寄存器($2A)联合使用,可以使定时器在两次捕捉后才产生中断,而不是每次捕捉均产生动作。两次捕捉结果分别在捕捉和保持寄存器里面。

TOF:定时器溢出标志,当16 位自由定时器从$FFFF 回滚到$0000 时,该位置位。将$80 写入到TFLG2 将自动清除该位(写1清零)。详见前面关于TMSK2 中TCRE 控制位的解释。

5、计时器中断使能寄存器(TIE)

可在任何时候读或写。

TIE 寄存器中的位与状态寄存器TFLG1 中的标志位相对应。如果将TIE 中的某位清0,相应的标志位就不能引起硬件中断。如果被置1,相应的标志位就可以引起中断。

C7I-C0I:输入捕捉/输出比较“x”中断使能。

6、IC/OC 选择寄存器(TIOS)

IC 还是OC 方式。当某位IOSn=0 时,对应的通道n 为输入捕捉(1C)通道,否则当IOSn=1 时,通道n 为输出比较(OC)通道。其中的各位可以在任何时候写入或读出。

【说明】上电后该寄存器默认为$00,TSCR 中的TEN 默认也为0,这时所有通道处于通用I/O 方式,将TEN 置位后各个通道进入IC 方式,要将某些通道设置成OC 方式,必须对TIOS 进行设置,即将有关位置1。设置成OC 的通道其引脚具有降功率驱动功能,设置成IC 的通道具有内部上拉功能,但上电后均处于关闭状态,可以根据需要启用。

7、IC/OC 寄存器(TC0-TC7)

每个IC 或OC 通道都设置有一个16 位的寄存器,对于IC(输入捕捉)通道,当通道的边沿探测器检测到由EDGnA、EDGnB 指定的条件时,将自由定时器的值捕捉到寄存器TCn,随后程序可以读取和处理;对于OC(输出比较)通道,程序将预定的时刻写入到TCn,当自由定时器的值与其相等时,触发由OMn、OLn 所指定的输出动作。定时器模块共有TC7-TC0 等8 个16 位IC/OC 寄存器。

TC0

TC1

TC2

相关文档
最新文档