1、西北民族大学 1、定时器IC/OC功能选择寄存器TIOS IOS70IC/OC 功能选择通道 0 相应通道选择为输入捕捉(IC) 1 相应通道选择为输出比较(OC) 2、定时器比较强制寄存器 CFORC FOC70设置该寄存器某个 FOCn位为 1 将导致在相应通道上立即产生一个输出比较动作,在 初始化输出通道时候非常有用。 【说明】这个状态和正常状态下输出比较发生后,标志位未被置位后的情况相同。 3、输出比较 7 屏蔽寄存器 OC7M OC7M70OC7(即通道7的输出比较)具有特殊地位,它匹配时可以直接改变 PT7个输出引脚的 状态,并覆盖各个引脚原来的匹配动作结果,寄存器 OC7M 决定
2、哪些通道将处于 OC7的管理之下。OC7M 中的各位与 PORTT口寄存器的各位一一对应。当通过 TIOS 将某个通道设定为输出比较时,将 OC7M 中的相应位置 1,对应的引脚就是输 出状态,与 DDR 中的对应位的状态无关,但 OC7Mn 并不改变 DDR 相应位的状 态。 【说明】OC7M 具有更高的优先级,它优于通过 TCTL1和 TCTL2寄存器中的 OMn 和 OLn 设定的引脚动作,若 OC7M 中某个位置 1,就会阻止相应引脚上由 OM 和 OL 设定的动作。 电子设计工作室 1西北民族大学 4、输出比较 7 数据寄存器 OC7D OC7D70OC7M 对于其他 OC 输出引脚
3、的管理限于将某个二进制值送到对应引脚,这个值保 存在寄存器 OC7D 中的对应位中。当 OC7匹配成功后,若某个 OC7Mn=1, 则内部 逻辑将 OC7Dn 送到对应引脚。OC7D 中的各位与 PORTT口寄存器的各位一一对 应。当通道 7比较成功时,如果 OC7M 中的某个位为 1,OC7D 中的对应位将被输 出到 PORTT 的对应引脚。 【总结】通道7的输出比较(OC7)具有特殊的位置,在OC7Mn和 OC7Dn 两个寄存器设置以后, OC7成功输出后将会引起一系列的动作。比如:OC7M0=1,则通道0处在OC7的管理 下,在OC7成功后,系统会将OC7D0的逻辑数据(仅限0或者1)反
4、应在PT0端口上。另 外,在OC7Mn 置位后,相应的引脚就被设置为输出引脚,与DDRTn 无关了,OC7Mn 并不改变 DDR 相应位的状态。 5、定时器核心计数寄存器 TCNT TCNT150XS128 Timer模块的核心是一个 16 位自由运行计数器(TCNT),所有输入捕捉和输 出比较功能的计时信息都来源于 TCNT,当定时器系统启用时,通过设置 TSCR1 的 TEN 位,计数器从$0000 开始,每经过一个模块时钟加 1,直到加到$FFFF,然后自动 溢出为$0000并继续计数.16 位自由记数器的当前值保存在两个 8 位寄存器中,高 的存在 TCNTH,低的存在 TCNTL 中
5、.综合这两个寄存器就形成 TCNT.定义TCNT的 话,要定义为 word 型。 【说明】这里的模块时钟指的是,经过分频后的 ECT 模块所用的时钟,分频系数在 TSCR2 的低 三位。TCNT是一个递增的计数器,有很多人一直把它当做是递减的计数器。总之,TCNT 就是 对 ECT 时钟进行计数的。 电子设计工作室 2西北民族大学 6、定时器系统控制寄存器 1 TSCR1 TSCR1寄存器是定时器模块的总开关,它决定模块是否启动以及在中断等待、BDM方式下的 行为,还包括标志的管理方式。其各位的意义如下: TEN:定时器使能位,此外它还控制定时器的时钟信号源。要使用定时器模块的 ICOC 功
6、能,必须将 TEN置位。如果因为某种原因定时器没有使能,脉冲累加器也将得不到 ECLK 64时钟,因为 ECLK64是由定时器的分频器产生的,这种情况下,脉冲累加器将不能进行引 脚电平持续时间的累加。 0 定时器/计数器被禁止,有利于降低功耗。 1 定时器/计数器使能,正常工作。 TSWAI:等待模式下计时器关闭控制位。 【注意】定时器中断不能用于使 MCU 退出等待模式。 0 在中断等待模式下允许 MCU继续运行。 1 当 MCU进入中断等待模式时,禁止计时器。 TSFRZ:在冻结模式下计时器和计数器停止位。 0 在冻结模式下允许计时器和计数器继续运行。 1 在冻结模式下禁止计时器和计数器,
7、用于仿真调试。 【注意】TSFRZ 不能停止脉冲累加。 TFFCA:定时器标志快速清除选择位。 0 定时器标志普通清除方式。 1 定时器标志位自动清除方式。 - 这里对 TFFCA 做一下解释: 先说明一下这个寄存器的作用:TFFCA 控制与输入捕捉、输出比较以及脉冲累加相关标志 的清除方式。当 TFFCA为0的时候,通过向标志位写入逻辑1的标准方式来清除定时器系统的标 志位,写入逻辑0是没有效果的。当 TFFCA 为1的时候,快速标志清除功能被启用。 但是对定时器系统的不同部分来说,这个功能有所不同: TFLG1寄存器:从 IC 读取或者向 OC 写入讲导致通道标志 CnF在寄存器 TFLF
8、1中清除 TFLG2寄存器:任何对 TCNT 寄存器的访问将清除 TFLG2定时器的溢出标志(TOF) PAFLG 寄存器:任何对 PACNT 寄存器的访问将清除 PAFLG 寄存器的 PAVOF 和PAIF 位 - 【说明】这种方式的好处是削减了另外清除标志位的软件开销。此外,必须特别注意避免对 标志位的意外清除。 PRNT:精确定时器选择位 0 使用传统定时器。TSCR2 中的 PR20作为预分频选择位。 电子设计工作室 3西北民族大学 1 使用精确定时器。PTPSR 中的所有位都作为预分频选择位。 7、定时器系统控制寄存器 2 TSCR2 TOI:定时器/计时器溢出中断使能。 0 中断被
9、禁止。 1 当 TOF标志被置位时发出硬件中断请求。 TCRE:定时器/计数器复位使能。该位在通道 7成功输出比较之后允许时钟计数器复位。 0 计数器复位禁止,计数器自由计数。 1 OV7成功输出比较后计数器将被复位。 PR20:计数器预分频选择。 这三位所决定的分频因子如下表所示。分频因子选择 电子设计工作室 4西北民族大学 8、定时器触发溢出寄存器 TTOV TOV70触发输出比较溢出选择位 0 触发输出比较溢出禁止 1 触发输出比较溢出使能 9、定时器控制寄存器 1、2 TCTL1/TCTL2 输出比较控制位: O M n 、OLn 分别设定输出方式和输出电平,这 8对控制位(OM7、O
10、L7-OM0、 OL0)编 码后用于指定通道比较成功后的输出动作。如果每对当中至少有一个为 1,对应引脚就固定为 相应通道的输出,而与 DDRT 中的对应位无关。 当二者同时为 0时,OC 与输出引脚断开。 00-定时器与引脚断开;01-OC 输出翻转;10-OC 输出0;11-OC 输出1 电子设计工作室 5西北民族大学 10、定时器控制寄存器 3、4 TCTL3/TCTL4 输入捕捉控制位: E D G nB、EDGnA 输入捕捉边沿控制位,这 8对控制位(EDG7B、EDG7AEDG0B、 EDG0A)对输入捕捉的边沿检测电路进行设置。当二者同时为 0时,IC与输入引脚断开。 00-禁止
11、捕捉;01-捕捉上升沿;10-捕捉下降沿;11-上升沿下降沿均捕捉 电子设计工作室 6西北民族大学 电子设计工作室 7 【注意】为了使 OMn、OLn 指定的引脚动作有效,OC7M中的对应位必须清 0。若要使用 16位脉冲累加器 ,并使它们分别独立于 ICOC7,必须设置对应的 IOSn:1、OMn=0、 OLn=0,同时寄存器 OC7M 中的 OC7M7、OC7M0位必须清 0。 11、定时器中断使能寄存器 TIE C70I:IC/OC 比较通道中断使能 0 IC/OC相应通道中断禁止 1 IC/OC相应通道中断使能 12、定时器中断标志位 TFLG1/TFLG2 TFLG1、TFLG2为中
12、断标志寄存器,其中 TFLG1对应 8个 ICOC 通道,当某 CnF=1时 说明对应的 ICOC 通道有动作,表明该通道有中断事件发生。TFLG2只有一个标志位 TOF,作为核心计数器的中断请求标志。当 TOF=1时说明核心计数器溢出。要清除某个标志 位,只需向该位写 1,向某位写 0不影响该位的状态。当 TSCR 中的 TFFCA位置位时,读 IC 通道或写 OC 通道 ($10-$1F)将自动清除该通道标志 CnF,对 TCNT 的任何访问将自动清 除 TFLG2。(这一点在前面提到过) C70F:ICOC 通道中断请求标志。 0 上次清除标志以来,ICOC 通道没有有效动作。 1 ICOC 通道已经出现动作。将寄存器 ICSYS($2B)中的 TFMOD 位和 ICOVW 寄 存器($2A)联合使用,可以使定时器在两次捕捉后才产生中断,而不是每次捕捉均产生动作。 两次捕捉结果分别在捕捉和保持寄存器里面。 TOF:定时器溢出标志,当 16位自由定时器从$FFFF 回滚到$0000时,该位 置位。将$80写入 到 TFLG2将自动清除该位(写1清零)。