dsPIC33F最多可支持9个16位定时器,即Timer1~Timer9,其中8个16位定时器可组合配置成4个32位定时器,即Timer2/3、Timer4/5、Timer6/7和Timer8/9。定时器一般表现为计数累计功能,通常由时钟脉冲驱动。该时钟可以是DCS片内的工作时钟,即内部时钟,称之为定时器,也可以是由外部引脚输入的时钟,即外部时钟,称之为计数器。无论哪种时钟,定时器的累计都是靠时钟来触发的,触发方式有:下降沿触发、上升沿触发或者两个边沿都触发,这取决于定时器的设置。而累计的方式可以是递增方式、递减方式。另外,定时器还有一个累计上限,当计数达到上限时就会发生溢出。
dsPIC33F的通用定时器为输入捕捉模块和输出比较/PWM模块提供基准时钟。定时器具有多种可选模式,既可配置为实时时钟操作,也可以被配置为各种定时器/计数器模式。在定时器模式下,定时器模块计数内部时基脉冲;在计数器模式下,模块计数出现在计数器时钟引脚上的外部脉冲数。
对定时器的操作和控制寄存器有:
●TMRx:16位定时器计数寄存器。
●PRx:与该定时器相关的16位周期寄存器。
●TxCON:与该定时器相关的16位控制寄存器。
根据某些功能上的差异,定时器分为如下三种类型:
●A类定时器。
●B类定时器。
●C类定时器。(www.xing528.com)
通常Time1是A类定时器,除了可配置为16位的内部定时器/计数器外,Time1还是一个异步实时时钟计时器。当Timer1工作在实时时钟模式(Real Time Clock,RTC)下时,可提供标准日期和时间标记功能,此时Timer1使用32kHz振荡器作为时钟源,在CPU处于空闲或休眠的低功耗状态下运行。A类定时器的内部结构如图1-8所示。
图1-8 A类型定时器的内部结构
B类定时器包括Timer2、Timer4、Timer6、Timer8,B类定时器可以和C类定时器相连组成32位定时器。B类定时器的TxCON寄存器有32个控制位,用来使能32位定时器功能。B类定时器的内部结构如图1-9所示。
图1-9 B类定时器的内部结构
C类定时器包括Timer3、Timer5、Timer7、Timer9。Timer2/3、Timer4/5、Timer6/7和Timer8/9可以组成可选的32位定时器(可配置成两个16位定时器),用于其他外设模块,如输入捕捉模块、输出比较/简单PWM模块等,也可以设置为32位同步计数器。定时器可以在空闲和睡眠模式下正常运行,当计数值与32位周期寄存器的内容相同时产生中断。其中Timer2/3还可作为A/D转换器的启动触发器。C类定时器的内部结构如图1-10所示。
图1-10 C类定时器的内部结构
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。