1、定时器3和4cc2530(定时器3和定时器4) 1、概述 定时器3和定时器4是两个8位定时器,每个定时器有两个独立的捕获/比较通道,每一通道使用一个I/O引脚。 定时器3/4有以下特点: (1)、两个捕获/比较通道; (2)、设置,清除或切换输出比较; (3)、每时钟可以被以下分频:1、2、4、8、16、32、64、128; (4)、在每次捕获/比较和最终计数事件发生时产生中断请求; (5)、DMA触发功能。 2、8位定时器的计数器 定时器3/4的所有定时器功能都是基于主要的8位计数器基础上的。计数器在每一个活动时钟边沿递增或递减。活动时钟边沿的周期由寄存器CLKCONCMD.TICKSPD2
2、:0来定义,且通过设置TxCTL.DIV2:0来进一步划分(x为3或4)。计数器操作模式有:自由运行模式、倒计数器模式、模计数器模式和正/倒计数器模式。 可以通过读SFR寄存器TxCNT(x为3或4)来取得8位定时器的值。 通过设置TxCTL来清除和终止计数器。设置TxCTL.START为1启动计数器,设置TxCTL.START为0时,计数器停留在它的当前值。 3、定时器3/4模式控制 一般上,控制寄存器TxCTL被用来控制定时器模式。3.1、自由运行模式 计数器从0X00开始,在每一个活动时钟边沿递增,当计数器到达0XFF时,计数器重置为0X00并继续递增。当最终计数器值到达0XFF时(如发
3、生溢出),中断标志位TIMIF.TxOVFIF将被置1。如已设置相应中断屏蔽位TxCTL.OVFIM,产生中断请求。自由模式可以用于产生独立的时间间隔和输出信号频率。3.2、倒模式 在倒模式中,定时器启动后,计数器读取TxCC0中的值,并开始递减,当到达0X00,标志位TIMIF.TxOVFIF置1。如已设置相应中断屏蔽位TxCTL.OVFIM,产生中断请求。倒模式一般用于需要事件超时间隔的应用程序。3.3、在正/倒定时器模式在此模式中,计数器重复操作:从0X00递增到TxCC0里设置的值,然后递减到0X00。这个定时器模式用于需要对称输出脉冲,且周期不是0XFF的应用程序。因此它允许中心对齐
4、的PWM输出应用程序的实现。通过写入TxCTL.CLR清除计数器也会复位计数方向,即从0X00模式正计数。 4、通道模式控制 对于通道0和1,每个通道的模式是由控制和状态寄存器TxCCTLn(n为0或1)设置的。设置包括捕获和比较模式。4.1、输入捕获模式 当通道配置为输入捕获通道时,与该通道相关的I/O引脚必须配置为输入。定时器启动后,输入引脚上的上升沿,下降沿或任何边沿都会触发一个捕获事件,即捕获8位计数器内容到相关的捕获寄存器中。因此定时器可以捕获一个外部事件发生的时间。 注意:一个引脚被用于定时器之前,要求相应I/O引脚必须被配置位Timer 3/Timer 4的外设引脚。 通道输入脚
5、同步于内部系统时钟,因此,输入脚的脉冲最小持续时间要大于系统时钟周期。 通道n的8位捕获寄存器的内容可以从寄存器T3CCn/T4CCn里读取。 当发生捕获时,活动通道的相应中断标志位TIMIF.TxCHnIF被设置。如已设置中断掩码位TxCCTLn.IM,将会产生中断请求。4.2、输出比较模式 在输出比较模式中,与通道相关的I/O引脚要设置为输出。在定时器启动后,计数器的内容与此通道的比较寄存器TxCC0n中的内容比较;如相等,根据TxCCTL.CMP1:0的设置,输出引脚被设置、复位或转换。注意当运行在一个给定的比较输出模式下,输出引脚上的所有边沿都是无故障运行的。 对于使用简单PWM,最好
6、使用输出比较模式4和5。 写入比较寄存器TxCC0或TxCC1的输出比较值无效,除非计数寄存器的值为0X00。 当发生比较时,活动通道的相应中断标志位TIMIF.TxCHnIF被设置。如已设置中断掩码位TxCCTLn.IM,将会产生中断请求。 5、定时器3/定时器4中断 每一个定时器都分配了一个中断向量,分别为T3和T4。当有以下定时器事件发生时便产生中断请求: (1)、计数器到达最终计数值; (2)、比较事件; (3)、捕获事件。 SFR寄存器TIMIF包含定时器3和定时器4的所有中断标志。寄存器TIMIF.TxOVFIF和TIMIF.TxCHnIF包含2个最终计数值事件和4个通道比较事件。
7、只有相应中断掩码位设置了,中断请求才会产生。如果有其他正在等待的中断,新中断产生之前相应的中断标志位必须被清除,同样,如果要产生新的中断请求,相应的的中断掩码位要设置。6、定时器3和定时器4的DMA触发 定时器3和定时器4都分别有2个DMA触发器,分别为: T3_CH0:定时器3通道0捕获/比较; T3_CH1:定时器3通道1捕获/比较;T4_CH0:定时器4通道0捕获/比较;T4_CH1:定时器4通道1捕获/比较。7、定时器3和定时器4寄存器TnCNT 定时器3/4计数器端口Bit位名称初始化读/写描述T3CNT7:0CNT7:00X00R定时计数器字节T4CNT7:0CNT7:00X00R
8、定时计数器字节T3CTL 定时器3控制端口Bit位名称初始化读/写描述T3CTL7:5DIV2:0000R/W预分频器值。产生有效时钟沿用于来自CLKCON.TICKSPD的定时器时钟如下:000:震荡频率/1001:震荡频率/2010:震荡频率/4011:震荡频率/8100:震荡频率/16101:震荡频率/32110:震荡频率/64111:震荡频率/1284START0R/W启动定时器。正常运行时设置,暂停时清除。3OVFIM1R/W0溢出中断屏蔽0:禁止中断1:使能中断2CLR0R0/W1清除计数器。写1清除并重置计数器为0X00并初始化相关通道的所有输出引脚。只能读0。1:0MODE1:
9、000R/W定时器3模式,00:自由运行模式,从0X00到0XFF重复计数。01:倒模式,从T3CC0到0X00计数。10:模模式,从0X00到T3CC0重复计数。11:正/倒模式,从0X00到T3CC0再到0X00重复计数。T4CTL7:5DIV2:0000R/W预分频器值。产生有效时钟沿用于来自CLKCON.TICKSPD的定时器时钟如下:000:震荡频率/1001:震荡频率/2010:震荡频率/4011:震荡频率/8100:震荡频率/16101:震荡频率/32110:震荡频率/64111:震荡频率/1284START0R/W启动定时器。正常运行时设置,暂停时清除。3OVFIM1R/W0溢
10、出中断屏蔽0:禁止中断1:使能中断2CLR0R0/W1清除计数器。写1清除并重置计数器为0X00并初始化相关通道的所有输出引脚。只能读0。1:0MODE1:000R/W定时器4模式,00:自由运行模式,从0X00到0XFF重复计数。01:倒模式,从T4CC0到0X00计数。10:模模式,从0X00到T4CC0重复计数。11:正/倒模式,从0X00到T4CC0再到0X00重复计数。 T3CCTLn/ T4CCTLn 定时器3/4通道0/1捕获/比较控制端口Bit位名称初始化读/写描述T3CCTL07-0R0没使用6IM1R/W通道0中断掩码0:禁止中断1:使能中断5:3CMP2:0000R/W通
11、道0比较输出模式选择,当定时器值等于T3CC0中的比较值时输出脚的操作:000:发生比较时输出端置1001:发生比较时输出端置0010:发生比较时输出端翻转011:上升沿比较输出设置,0清除100:上升沿比较输出清除,0设置101:发生比较时输出端置1,0XFF清除110:发生比较时输出端置0,0X00设置111:初始化输出引脚,CMP2:0不改变。2MODE0R/W定时器3通道0模式选择0:捕获模式1:比较模式1:0CAP1:000R/W捕获模式选择00:无捕获01:上升边沿捕获10:下降边沿捕获11:所有边沿捕获T3CCTL17-0R0没使用6IM1R/W通道1中断掩码0:禁止中断1:使能
12、中断5:3CMP2:0000R/W通道1比较输出模式选择,当定时器值等于T3CC1中的比较值时输出脚的操作:000:发生比较时输出端置1001:发生比较时输出端置0010:发生比较时输出端翻转011:上升沿比较输出设置,0清除100:上升沿比较输出清除,0设置101:发生比较时输出端置1,0XFF清除110:发生比较时输出端置0,0X00设置111:初始化输出引脚,CMP2:0不改变。2MODE0R/W定时器3通道1模式选择0:捕获模式1:比较模式1:0CAP1:000R/W捕获模式选择00:无捕获01:上升边沿捕获10:下降边沿捕获11:所有边沿捕获T4CCTL07-0R0没使用6IM1R/
13、W通道0中断掩码0:禁止中断1:使能中断5:3CMP2:0000R/W通道0比较输出模式选择,当定时器值等于T4CC0中的比较值时输出脚的操作:000:发生比较时输出端置1001:发生比较时输出端置0010:发生比较时输出端翻转011:上升沿比较输出设置,0清除100:上升沿比较输出清除,0设置101:发生比较时输出端置1,0XFF清除110:发生比较时输出端置0,0X00设置111:初始化输出引脚,CMP2:0不改变。2MODE0R/W定时器4通道0模式选择0:捕获模式1:比较模式1:0CAP1:000R/W捕获模式选择00:无捕获01:上升边沿捕获10:下降边沿捕获11:所有边沿捕获T4C
14、CTL17-0R0没使用6IM1R/W通道1中断掩码0:禁止中断1:使能中断5:3CMP2:0000R/W通道1比较输出模式选择,当定时器值等于T4CC1中的比较值时输出脚的操作:000:发生比较时输出端置1001:发生比较时输出端置0010:发生比较时输出端翻转011:上升沿比较输出设置,0清除100:上升沿比较输出清除,0设置101:发生比较时输出端置1,0XFF清除110:发生比较时输出端置0,0X00设置111:初始化输出引脚,CMP2:0不改变。2MODE0R/W定时器4通道1模式选择0:捕获模式1:比较模式1:0CAP1:000R/W捕获模式选择00:无捕获01:上升边沿捕获10:
15、下降边沿捕获11:所有边沿捕获 TmCCn 定时器3/4通道0/1捕获/比较值端口Bit位名称初始化读/写描述T3CC07:0VAL7:00X00R/W定时器3通道0捕获/比较值。T3CC17:0VAL7:00X00R/W定时器3通道1捕获/比较值。T4CC07:0VAL7:00X00R/W定时器4通道0捕获/比较值。T4CC17:0VAL7:00X00R/W定时器4通道1捕获/比较值。 TIMIF:定时器1/3/4中断屏蔽/标志端口Bit位名称初始化读/写描述TIMIF7-0R0未使用6OVFIM1R/W定时器1溢出中断屏蔽5T4CH1IF0R/W0定时器4通道1中断标志0:无中断未决1:中断未决4T4CH0IF0R/W0定时器4通道0中断标志0:无中断未决1:中断未决3T4OVFIF0R/W0定时器4溢出中断标志0:无中断未决1:中断未决2T3CH1IF0R/W0定时器3通道1中断标志0:无中断未决1:中断未决1T3CH0IF0R/W0定时器3通道0中断标志0:无中断未决1:中断未决0T3OVFIF0R/W0定时器3溢出中断标志0:无中断未决1:中断未决
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1