守时器B和守时器A有许多相同之处,学习的时分留意回想Timer_A的 相关常识。留意,MSP430F5529中只要一个守时器B。
7.1守时器B的简介
7.1.1 特性(了解):
(1). 16位同步守时/计数,4种作业形式可选、4中长度可选;
(2). 可选可装备时钟源;
(3). 高达7个捕获/比较寄存器;
(4). 可装备PWM输出;
(5). 带有同步装载的双缓冲比较寄存器;
(6). 快速解码的中止向量;
7.2.2与守时器A的比较(相同点与不同点)
(1). TB的计数长度能够挑选(8、10、12、16BITS),而TA只要16位;
(2). TB0CCRn寄存器是双缓冲的,且能够分组;
(3). 一切的TB输出能够被设为高阻状况;
(4). TB没有SCCI,即捕获器输入信号CCI没有被锁存;
看结构图,调查和TA有什么区别:
7.2Timer0_B寄存器介绍及设置)
声明:一切寄存器相同支撑字和字节操作
一切寄存器初始化都为0x0000
7.2.1 TB操控寄存器TB0CTL(最常用最基本)(和TA有一点不同)
rw-(0)表明默许读写均为0
TBCLGGRP:TB0CLn分组操控
00:每个TB0CLn独立运用
01:TB0CL1+TB0CL2作为一组(TB0CCR1的CLLD位操控整组数据更新)
TB0CL3+TB0CL4作为一组(TB0CCR3的CLLD位操控整组数据更新)
TB0CL5+TB0CL6作为一组(TB0CCR5的CLLD位操控整组数据更新)
10:TB0CL1、2、3一组,(TB0CCR1的CLLD位操控整组数据更新)
TB0CL4、5、6一组,(TB0CCR4的CLLD位操控整组数据更新)
11:TB0CL0、1、2、3、4、5、6整合为一组,
(TB0CCR1的CLLD位操控整组数据更新)
CNTL:计数器长度操控
0016位,即最大能够计到0FFFFh
0112位,即最大能够计到0FFFh
1010位,即最大能够计到03FFh
11 8位,即最大能够计到0FFh
TBSSEL:时钟源挑选。尽量不要选TACLK外部时钟源,由于假如TACLK和CPU时钟不同步,很简单出问题。(TB0CLK接P7.7引脚)
00TBCLK
01ACLK
10SMCLK
11~TBCLK
ID:第一次分频操控。ID0-1分频;ID1-2分频;ID2-4分频;ID3-8分频
MC:作业形式操控。(主张在修正守时器运转形式前先中止守时器(中止使能、中止标志、TACLR破例),以防止产生不知道的误操作。)(和TA相同)
00中止形式:守时器中止
01增形式:守时器计数到TB0CCR0
10接连形式,守时器计数到0FFFH(16位)…12位、10位…
11增减形式:守时器加计数到TB0CCR0然后减计数到0000H
TBCLR:守时器清零位。该方位位会复位TA寄存器,时钟分频和计数方向。
TACLR位会主动复位并置0
TBIE:守时器中止使能
0:中止制止
1:中止答应
TBIFG:中止标志位
0:没有中止产生
1:有中止挂起
7.2.2计数值寄存寄存器TB0R
7.2.3扩展寄存器TBEX0
很简单,这个寄存器便是为了操控时钟源的二次分频(看结构图)。
该寄存器的低3为界说为TBIDEX:000-111别离表明1-8分频
7.2.4 捕获/比较寄存器TBCCR0-TBCCR6(共7个)
比较形式下,用来设定计数终值;
捕获形式下用来将捕获的TBR值寄存进TBCCRx中。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/256172.html