MSP430F249的定时器计数器(5)

2019-04-21 10:34

定时器B与定时器A的大多数功能相同,它们的主要区别如下:定时器B的长度是可编程的,可编程为8,10,12,16位;定时器B的TBCCRx(x=0~6)寄存器是双缓冲的,并可以成组工作;所有定时器B的输出可以为高阻抗状态;SCCI位功能在定时器B中不存在。定时器B的结构示意图如图5.15所示。

图5.15 定时器B的结构示意图

定时器 B 可以通过 CNTL0、CNTL1 位将它配置为 8,10,12 或 16 位定时器,相应的最大计数数值分别为0FFh,03FFh,0FFFh和0FFFFh。在 8,10和 12位模式下,对 TBR 写入数据时,数据的高4位必须为0。

时钟源的选择和分频:定时器的时钟源可以是内部时钟源 ACLK, SMCLK,或外部源 TBCLK 和 INCLK。时钟源由 TBSSEL0、TBSSEL1位来选择,所选择的时钟可以通过 ID0、ID1 位进行 2、4、8 分频,当 TBCLR 置位时,分频器复位。

定时器可以通过以下 2 种方式启动或重新启动: (1)当定时器B的TBCTL寄存器中的MCx>0 并且时钟源处于活动状态时。

21

(2)当定时器模式为 up 或 up/down 模式时(即单调增和增减模式),定时器可以通过写 0到 TBCLR来停止计数。定时器可以通过写一个非 0 的数值来重新开始计数。在这种情况下,定时器从0 开始增计数。

捕获比较寄存器TBCCRx(x=1~6)中的 CCIFG 和 TBIFG 标志共用一个中断向量(不包括 TBCCR0_CCIFG)。中断向量寄存器 TBIV 用于确定它们中的哪个中断要求得到响应。最高优先级的中断(不包括 TBCCR0_CCIFG,TBCCR0单独使用一个中断向量)在 TBIV 寄存器中产生一个数字(见寄存器说明),这个数字是规定的数字,可以在程序中识别并自动进入相应的子程序。禁止定时器 B 中断不会影响 TBIV 的值。 表5-1 定时器B的相关寄存器 序号 地址 简写 寄存器名称 1 0180h TBCTL 定时器B控制寄存器 2 0182h TBCCTL0 捕获/比较控制寄存器 0 TBCCTL1 3 0184h 捕获/比较控制寄存器1 4 0186h TBCCTL2 捕获/比较控制寄存器2 5 0188h TBCCTL3 捕获/比较控制寄存器3 6 018Ah TBCCTL4 捕获/比较控制寄存器4 TBCCTL5 7 018Ch 捕获/比较控制寄存器5 TBCCTL6 018Eh 8 捕获/比较控制寄存器6 9 0190h TBR 定时器B计数器 TBCCR0 10 0192h 捕获/比较寄存器 0 11 0194h TBCCR1 捕获/比较寄存器1 12 0196h TBCCR2 捕获/比较寄存器2 13 0198h TBCCR3 捕获/比较寄存器3 TBCCR4 14 019Ah 捕获/比较寄存器4 TBCCR5 15 019Ch 捕获/比较寄存器5 TBCCR6 019Eh 16 捕获/比较寄存器6 TBIV 011Eh 17 TB中断向量寄存器 定时器B控制寄存器TBCTL 15 14~13 12~11 10 9~8 7~6 5~4 3 2 1 0 — TBCLGRPx CNTLx — TBSSELx IDx MCx — TBCLR TBIE TBIFG TBCLGRPx 比较寄存器成组控制 TBCLGRP1 说明 TBCLGRP0 00 01 每个 TBCLx 锁存器独立加载 TBCL1+TBCL2 (TBCCR1 CLLDx 位控制更新) TBCL3+TBCL4 (TBCCR3 CLLDx bits位控制更新) TBCL5+TBCL6 (TBCCR5 CLLDx bits位控制更新) TBCL0 单独更新 TBCL1+TBCL2+TBCL3 (TBCCR1 CLLDx bits位控制更新) TBCL4+TBCL5+TBCL6 (TBCCR4 CLLDx bits位控制更新) TBCL0 独立更新 宏定义 TBCLGRP_0 TBCLGRP_1 10 TBCLGRP_2 22

11 TBCL0+TBCL1+TBCL2+TBCL3+TBCL4+TBCL5+TBCL6 (TBCCR1 CLLDx bits位控制更新) TBCLGRP_3 CNTLx 计数长度选择 CNTL1、CNTL0 0 0 0 1 1 0 1 1 计数长度 16 12 10 8 TBR最大值 宏定义 0FFFFh CNTL_0 0FFFh CNTL_1 03FFh CNTL_2 0FFh CNTL_3 TASSELx 定时器时钟源选择 TBSSEL1、TBSSEL1 时钟源 0 0 0 1 1 0 1 1 IDx 分频系数 ID1、ID0 说明 外部引脚输入时钟 辅助时钟 子系统时钟 TBCLK的反相信号 宏定义 ID_0 ID_1 ID_2 ID_3 宏定义 TBSSEL_0 TBSSEL_1 TBSSEL_2 TBSSEL_3 TBCLK ACLK SMCLK INCLK 分频系数 直通 2分频 4分频 8分频 00 01 10 11

MCx 定时器模式选择 MC1、MC0 模式选择 00 01 10 11 停止 增计数模式 连续计数模式 增减计数模式 说明 计数值上限为TBCCR0 计数值上限为TBmax 计数值上限为TBCCR0 宏定义 MC_0 MC_1 MC_2 MC_3

TBCLR 定时器B清除位,若该位置位将计数器TBR清零、分频系数清零、计数模式置为增计数模式。TBCLR 由硬件自动复位,其读出始终为 0。定时器在下一个有效输入沿开始工作。

TBIE 定时器B中断允许位,0中断禁止;1中断允许

TBIFG 定时器B中断标志位,0没有中断;1中断标志建立。增计数模式: 当定时器由 CCR0 计数到到 0 时,TBIFG 置位。连续计数模式:当定时器由 0FFFFH 计数到 0 时,TBIFG 置位。增/减计数模式:当定时器由 CCR0 减计数到 0 时,TBIFG 置位。

定时器B的16位计数器 TBR 15~0 TBRx 这是计数器的主体,内部可读写。如果要写入TBR计数值或用 TBCLK 控制寄

23

存器中的控制位来改变定时器工作(特别是修改输入选择位、输入分频器和定时器清除位时),修改时应先停止定时器,否则输入时钟和软件所用的系统时钟异步可能引起时间竞争,使定时器响应出错。

定时器B有7个捕获/比较模块,每个模块都有自己的控制寄存器 TBCCTL0~6

捕获/比较控制寄存器TBCCTLx (x=0~6) 15 14 13 12 11 10~9 8 7 6 5 4 3 2 1 0 CMx CCISx SCS CLLDx CAP OUTMODx CCIE CCI OUT COV CCIFG CMx 捕获模式(x=0、1) CM1、CM0 捕获模式 禁止捕获 上升沿捕获 下降沿捕获 上升沿与下降沿都捕获 宏定义 CM_0 CM_1 CM_2 CM_3 00 01 10 11

CCIS 捕获/比较输入信号选择 CCIS1、CCIS0 输入信号选择 CCIxA(x=0、1、2) CCIxB(x=0、1、2) GND VCC 宏定义 CCIS_0 CCIS_1 CCIS_2 CCIS_3 00 01 10 11 SCS 同步捕获源选择,0异步捕获;1同步捕获。 异步捕获模式允许在请求时立即将 CCIFG 置位和捕获定时器值,适用于捕获信号的周期远大于定时器时钟周期的情况。但是,如果定时器时钟和捕获信号发生时间竞争,则捕获寄存器的值可能出错。在实际中经常使用同步捕获模式,捕获事件发生时,CCIFG 置位和捕获定时器值将与定时器时钟信号同步。

CLLDx 比较锁存加载,该位选择比较锁存加载事件 CLLD1、CLLD0 说明 00 01 10 11

宏定义 CLLD_0 CLLD_1 CLLD_2 CLLD_3 TBCCRx 写入时,TBCLx加载(x=0~6) TBR计数到0时,TBCLx加载 TBR计数到0时,TBCLx加载(增模式或连续模式时) TBR计数到TBCL0或0时,TBCLx加载(增减模式) TBR计数到TBCLx时,TBCLx加载 CAP 模式选择位,0 比较模式;1 捕获模式 OUTMODx 输出模式(x=0、1、2) OUTMOD2 OUTMOD1 OUTMOD0 模式 名称 输出 说明 宏定义 000

输出信号由TACCTLx的OUT决定 OUTMOD_0 24

001 010 置位 翻转/复位 置位/复位 翻转 复位 翻转/置位 复位/置位 当计数值达到TACCRx寄存器中的值时,输出信号为高电平并保持,直到定时器复位 当计数值达到TACCRx寄存器中的值时,输出信号翻转;当计数值达到TACCR0寄存器中的值时,输出信号复位。 当计数值达到TACCRx寄存器中的值时,输出信号置位;当计数值达到TACCR0寄存器中的值时,输出信号复位。 OUTMOD_1 OUTMOD_2 011 OUTMOD_3 100 101 110 当计数值达到TACCRx寄存器中的值时,输出信号OUTMOD_4 翻转。 当计数值达到TACCRx寄存器中的值时,输出信号复位。 当计数值达到TACCRx寄存器中的值时,输出信号翻转;当计数值达到TACCR0寄存器中的值时,输出信号置位。 当计数值达到TACCRx寄存器中的值时,输出信号复位;当计数值达到TACCR0寄存器中的值时,输出信号置位。 OUTMOD_5 OUTMOD_6 111 OUTMOD_7 CCIE 捕获/比较中断使能位,0中断禁止;1 中断允许 CCI 捕获/比较输入位,用来读取选择的输入信号。

OUT 输出位,如果OUTMODx设为000时,那么由该位决定输出到OUTx的信号。0 输出低电平;1输出高电平

COV 捕获溢出标志。当 CAP=1 时,选择捕获模式,如果捕获寄存器的值被读出前再次发生捕获事件,则COV置位。读捕获寄存器时不会使溢出标志复位,须用软件复位。

CCIFG 捕获/比较中断标志位。捕获模式:寄存器 CCRx 捕获了定时器 TAR 值时置位。比较模式:定时器 TAR 值等于寄存器 CCRx 值时置位。

定时器B中断矢量寄存器 TBIV 15~4 3~1 0 0 TBIVx 0 中断矢量值确定申请TBIV中断的中断源,具体含义见表5.5 TBIVx TBIV的值 中断源 中断标志 中断优先级 000 0 没有中断 高 001 2 捕获/比较器1 TBCCIFG1 010 4 捕获/比较器2 TBCCIFG2 011 6 捕获/比较器3 TBCCIFG3 100 8 捕获/比较器4 TBCCIFG4 101 10 捕获/比较器5 TBCCIFG5 110 12 捕获/比较器6 TBCCIFG6

25


MSP430F249的定时器计数器(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:在“整顿机关作风纪律”动员大会上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: