您的位置 首页 电子

MSP430–定时器B

MSP43016位定时器B模块是单片机的重要资源。MSP430F131415x系列都有定时器模块B,但是不同单片机系列所带的比较捕获模块功能有所不同。1

MSP43016位守时器B模块是单片机的重要资源。MSP430F13/14/15x系列都有守时器模块B,可是不同单片机系列所带的比较/捕获模块功用有所不同。

1.守时器B模块:

TimerB与TimerA大部分相同,不同点在于守时器B的捕获/比较单元增加了锁存器。

二者差异:

(1)TimerB计数长度为8位,10位,12位,16位可编程,由TBCTL寄存器的CNTLx两位来装备,而守时器A的计数长度是固定的16位;

(2)TimerB没有完成守时器A中的SCCI功用位的功用;

(3)TimerB在比较形式下的捕获/比较寄存器功用与TimerA不同,增加了捕获比较锁存器;

(4)有些芯片型号傍边TimerB输出完成了高阻抗输出;

(5)比较形式的原理有所不同:TimerA傍边CCRx寄存器傍边保存与TAR相比较的数据,而在TimerB傍边CCRx中保存要比较的数据,但并不直接与守时器TBR相比较,而是将CCRx傍边的数据锁存到相应的锁存器之后,由锁存器与TBR相比较。从捕获/比较寄存器相比较锁存器传输数据的进程的时刻也是可编程的,可所以写入比较捕获寄存器之后当即传输,也可有一个守时器来触发传输。

(6)TimerB支撑多种同步的守时功用,多重比较捕获功用和多重波形输出功用(PWM波)。并且,经过对比较数据的两级缓冲,可完成多个PWM波同步周期更新。

2.TimerB的逻辑结构图:


守时器B的逻辑结构根本与守时器A相同。

3.守时器B的寄存器:

寄存器相关位的装备进程参阅守时器A和数据手册。


4.守时器B的比较功用

当守时器B作业在比较形式时,将数据写入捕获比较锁存器TBCCRx傍边,当TBCCTLx傍边的CLLDx位决议的装载事情的产生时,TBCCRx中的数据会自动地传输到比较寄存器傍边。

5.TI供给的例程:

//
////
//
//MSP430F149
//—————–
///||XIN|-
//| || HF XTAL (455k – 8MHz)
//–|RSTXOUT|-
//||
//|P4.1/TB1|–> CCR1 – 75% PWM
//|P4.2/TB2|–> CCR2 – 25% PWM
//
//M. Buccini
//Texas Instruments Inc.
//Feb 2005
//Built with IAR Embedded Workbench Version: 3.21A
//******************************************************************************

#include<msp430x14x.h>

void main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW +WDTHOLD;// Stop WDT

//体系时钟初始化
BCSCTL1 |= XTS;// ACLK= LFXT1 = HF XTAL

do
{
IFG1 &= ~OFIFG;// Clear OSCFault flag
for (i = 0xFF; i > 0; i–);// Time for flag to set
}
while ((IFG1 & OFIFG));// OSCFault flag still set?

BCSCTL2 |= SELM_3;// MCLK= LFXT1 (safe)

//io口初始化
P4DIR |= 0x06;// P4.1 and P4.2 output
P4SEL |= 0x06;// P4.2 and P4.2 TB1/2 otions

//守时器B的装备
TBCCR0 = 128;// PWM Period/2
TBCCTL1 = OUTMOD_6;// CCR1 toggle/set
TBCCR1 = 32;// CCR1 PWM duty cycle
TBCCTL2 = OUTMOD_6;// CCR2 toggle/set
TBCCR2 = 96;// CCR2 PWM duty cycle
TBCTL = TBSSEL_1 + MC_3;// ACLK, up-down mode

_BIS_SR(CPUOFF);// Enter LPM0
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/dianzi/258761.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部