admin管理员组文章数量:1567560
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,输出比较可用,但不会将标志位(中断)置位
版权声明:本文标题:TIM功能与使用 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1721167558a863749.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论