图5.3 定时器A的基本结构
1. 定时器A寄存器
表5-1 定时器A的相关寄存器 序号 地址 简写 1 160H TACTL 2 162H TACCTL0 3 164H TACCTL1 4 166H TACCTL2 5 170H TAR 6 172H TACCR0 7 174H TACCR1 8 176H TACCR2 9 12EH TAIV 定时器A控制寄存器TACTL 15~10 9 8 7 6
寄存器名称 定时器A控制寄存器 捕获/比较控制寄存器 0 捕获/比较控制寄存器 1 捕获/比较控制寄存器 2 定时器A计数器 捕获/比较寄存器 0 捕获/比较寄存器 1 捕获/比较寄存器 2 中断向量寄存器 5 4 3 2 1 0 6
未用 TASSELx IDx MCx 未用 TASSELx 定时器时钟源选择(x=0、1) TASSEL1 TASSEL0 0 0 0 1 1 0 1 1 IDx
ID1、ID0 TACLR TAIE TAIFG 宏定义 TASSEL_0 TASSEL_1 TASSEL_2 TASSEL_3 时钟源 TACLK ACLK SMCLK INCLK 分频系数 直通 2分频 4分频 8分频 说明 外部引脚输入时钟 辅助时钟 子系统时钟 TACLK的反相信号 宏定义 ID_0 ID_1 ID_2 ID_3 分频系数 (x=0、1) 0 0 0 1 1 0 1 1
MCx 定时器模式选择(x=0、1) MC1、MC0 模式选择 说明 0 0 0 1 1 0 1 1 停止 增计数模式 连续计数模式 增减计数模式 计数值上限为TACCR0 计数值上限为FFFFH 计数值上限为TACCR0 宏定义 MC_0 MC_1 MC_2 MC_3
TACLR 定时器A清除位,该位置位将计数器TAR清零、分频系数清零、计数模式置为增计数模式。TACLR 由硬件自动复位,其读出始终为 0。定时器在下一个有效输入沿开始工作。
TAIE 定时器A中断允许位,0中断禁止;1中断允许
TAIFG 定时器A中断标志位,0没有中断;1中断标志建立。增计数模
式: 当定时器由 CCR0 计数到到 0 时,TAIFG 置位。连续计数模式:当定时器由 0FFFFH计数到 0 时,TAIFG 置位。增/减计数模式:当定时器由 CCR0 减计数到 0 时,TAIFG 置位。
定时器A的16位计数器 TAR 15~0 TARx 这是计数器的主体,内部可读写。如果要写入TAR计数值或用 TACLK 控制寄存器中的控制位来改变定时器工作(特别是修改输入选择位、输入分频器和定时器清除位时),修改时应先停止定时器,否则输入时钟和软件所用的系统时钟异步可能引起时间竞争,使定时器响应出错。
定时器A有3个捕获/比较模块,每个模块都有自己的控制寄存器 TACCTL0~2 捕获/比较控制寄存器TACCTLx (x=0、1、2) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CMx CCISx SCS SCCI CAP OUTMODx CCIE CCI OUT COV CCIFG
7
CMx
捕获模式(x=0、1) CM1、CM0 捕获模式 00 01 10 11 禁止捕获 上升沿捕获 下降沿捕获 上升沿与下降沿都捕获 宏定义 CM_0 CM_1 CM_2 CM_3
CCIS
捕获/比较输入信号选择 CCIS1、CCIS0 输入信号选择 00 01 10 11 CCIxA(x=0、1、2) CCIxB(x=0、1、2) GND VCC 宏定义 CCIS_0 CCIS_1 CCIS_2 CCIS_3 同步捕获源选择,0异步捕获;1同步捕获。异步捕获模式允许在请求时立即将 CCIFG 置位和捕获定时器值,适用于捕获信号的周期远大于定时器时钟周期的情况。但是,如果定时器时钟和捕获信号发生时间竞争,则捕获寄存器的值可能出错。在实际中经常使用同步捕获模式,捕获事件发生时,CCIFG 置位和捕获定时器值将与定时器时钟信号同步。
SCCI 同步捕获/比较输入位,仅用于比较模式。比较相等信号 EQUx
将选择中的捕获、比较输入信号CCIx(CCIxA,CCIxB,VCC 和 GND)进行锁存,这样当计数器的值继续变化时,锁存器中的值仍然保持不变,然后可以通过 SCCI位读出。
CAP 模式选择位,0 比较模式;1 捕获模式。 OUTMODx 输出模式(x=0、1、2) 表5-2 输出模式 OUTMOD2 OUTMOD1 OUTMOD0 SCS
模式 名称 输出 置位 翻转/复位 置位/复位 翻转 复位 翻转/说明 宏定义 000 001 010 输出信号由TACCTLx的OUT决定 当计数值达到TACCRx寄存器中的值时,输出信号为高电平并保持,直到定时器复位 OUTMOD_0 OUTMOD_1 当计数值达到TACCRx寄存器中的值时,输出信号OUTMOD_2 翻转;当计数值达到TACCR0寄存器中的值时,输出信号复位。 当计数值达到TACCRx寄存器中的值时,输出信号OUTMOD_3 置位;当计数值达到TACCR0寄存器中的值时,输出信号复位。 当计数值达到TACCRx寄存器中的值时,输出信号OUTMOD_4 翻转。 当计数值达到TACCRx寄存器中的值时,输出信号复位。 当计数值达到TACCRx寄存器中的值时,输出信号OUTMOD_5 OUTMOD_6 011 100 101 110 8
置位 111 复位/置位 翻转;当计数值达到TACCR0寄存器中的值时,输出信号置位。 当计数值达到TACCRx寄存器中的值时,输出信号OUTMOD_7 复位;当计数值达到TACCR0寄存器中的值时,输出信号置位。 CCIE CCI OUT
捕获/比较中断使能位,0中断禁止;1 中断允许 捕获/比较输入位,用来读取选择的输入信号。
输出位,如果OUTMODx设为000时,那么由该位决定输出到OUTx的信号。0 输出低电平;1输出高电平。
COV 捕获溢出标志。当 CAP=1 时,选择捕获模式,如果捕获寄存器
的值被读出前再次发生捕获事件,则COV置位。读捕获寄存器时不会使溢出标志复位,须用软件复位。
CCIFG 捕获/比较中断标志位。捕获模式:寄存器 CCR0 捕获了定时器
TAR 值时置位。比较模式:定时器 TAR 值等于寄存器 CCR0 值时置位。
定时器A中断矢量寄存器 TAIV 15~4 3~1 0 0 TAIVx 0 中断矢量值确定申请TAIV中断的中断源,具体含义见表5-5 TAIVx TAIV的值 中断源 中断标志 中断优先级 000 0 没有中断 高 001 2 捕获/比较器1 TACCR1_CCIFG 010 4 捕获/比较器2 TACCR2_CCIFG 011 6 保留 100 8 保留 低 101 10 定时器溢出 TAIFG 110 12 保留 111 14 保留 2. 定时器工作原理
定时器的4种工作模式:
(1)停止模式:定时器停止工作。
(2)增计数模式:如果定时器原来处于停止模式,设置增计数模式会同时启动计数器TAR开始计数。当计数值达到TACCR0寄存器的值时,中断标志TACCR0_CCIFG置位。当下一个计数时钟到来时,计数器TAR的值变为0,重新开始新一轮计数。因此定时器的计数周期由TACCR0的值决定。由于必须用TACCR0寄存器存放计数的最大值,所以增计数模式比连续模式多占用了TACCR0寄存器。在增计数期间还可以设置 CCR1~2 来产生中断标记,产生PWM等信号。
(3)连续计数模式:连续计数模式与增计数模式的区别是连续模式不占用
9
TACCR0寄存器。当CCRx(x=0、1、2)寄存器的值与TAR的值相等时,若此时CCRx是处于中断允许的话,则产生相应的中断标志CCIFGx。而TAR的中断标志TAIFG位则在TAR计数值从FFFFH转为0时产生中断标志TAIFG。定时器A连续模式计数启动后,TAR的值开始从0--FFFFH--0--FFFFH...不断计重复计数,直至软件控制其停止计数为止。
(4)增减计数模式:增减计数模式也要用到TACCR0寄存器,定时器启动后,计数值先从0增加到TACCR0寄存器中的值,然后计数器又开始减少,减少到0后,计数器又递增,如此周而复始。在增减计数模式一个周期中,中断标志位TAIFG和TACCR0_CCIFG个置位一次。当计数值达到最大值TACCR0的值时,中断标志TACCR0_CCIFG置位;当计数值递减到0时,中断标志TAIFG置位。增减模式在定时器周期不是 0FFFFH 且需要产生对称的脉冲时使用。例如,两个输出驱动一个 H 桥时不能同时为高,增减模式支持在输出信号之间有死区时间的应用。
定时器工作原理说明:
(1)比较模式:这是定时器的默认模式。如果事先设置好定时器比较值TACCRx(x=0、1、2),并开启定时器中断,当TAR的值增到TACCRx的时候,中断标志位CCIFGx(x=0、1、2)置1,进入相应的中断服务程序。比较模式常用于产生PWM信号或设置给定时间间隔中断。
(2)捕获模式:当TACCTLx(x=0、1、2)控制寄存器中的CAP置位时,则相应的TACCRx处于捕获模式。捕获源可以由CCISx选择CCIxA,CCIxB,GND,VCC,可以利用外部信号的上升沿、下降沿或上升下降沿触发,完成捕获后相应的捕获标志位CCIFGx置1。当捕获事件发生时,硬件自动将计数器TAR的值拷贝到TACCRx寄存器中,同时中断标志CCIFGx置位。捕获模式主要用于测量脉冲周期、频率、速度等。
(3)输出模式:输出模式由 OUTMODx 位来确定,如表 5-2所示。模式0用于电平输出,由OUT位来控制TAx(x=0、1、2)管脚的高低电平输出;模式1和模式5为单脉冲输出,可以用来代替单稳态电路产生单脉冲波形;模式3和模式7用来产生脉宽调制信号(PWM信号);模式4为可变频率或移相输出;模式2和模式6为带死区的PWM模式,广泛用于逆变器、开关电源、变频调速和斩波器等高效率的功率变换应用场合。
图5.4 定时器A处于增计数模式
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库MSP430F249的定时器计数器(2)在线全文阅读。
相关推荐: