新聞中心

MSP430--定時器B

作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
MSP43016位定時器B模塊是單片機的重要資源。MSP430F13/14/15x系列都有定時器模塊B,但是不同單片機系列所帶的比較/捕獲模塊功能有所不同。

1.定時器B模塊:

本文引用地址:http://m.butianyuan.cn/article/201611/322054.htm

TimerB與TimerA大部分相同,不同點在于定時器B的捕獲/比較單元增加了鎖存器。

二者區(qū)別:

(1)TimerB計數(shù)長度為8位,10位,12位,16位可編程,由TBCTL寄存器的CNTLx兩位來配置,而定時器A的計數(shù)長度是固定的16位;

(2)TimerB沒有實現(xiàn)定時器A中的SCCI功能位的功能;

(3)TimerB在比較模式下的捕獲/比較寄存器功能與TimerA不同,增加了捕獲比較鎖存器;

(4)有些芯片型號當(dāng)中TimerB輸出實現(xiàn)了高阻抗輸出;

(5)比較模式的原理有所不同:TimerA當(dāng)中CCRx寄存器當(dāng)中保存與TAR相比較的數(shù)據(jù),而在TimerB當(dāng)中CCRx中保存要比較的數(shù)據(jù),但并不直接與定時器TBR相比較,而是將CCRx當(dāng)中的數(shù)據(jù)鎖存到相應(yīng)的鎖存器之后,由鎖存器與TBR相比較。從捕獲/比較寄存器相比較鎖存器傳輸數(shù)據(jù)的過程的時間也是可編程的,可以是寫入比較捕獲寄存器之后立即傳輸,也可有一個定時器來觸發(fā)傳輸。

(6)TimerB支持多種同步的定時功能,多重比較捕獲功能和多重波形輸出功能(PWM波)。而且,通過對比較數(shù)據(jù)的兩級緩沖,可實現(xiàn)多個PWM波同步周期更新。

2.TimerB的邏輯結(jié)構(gòu)圖:


定時器B的邏輯結(jié)構(gòu)基本與定時器A相同。

3.定時器B的寄存器:

寄存器相關(guān)位的配置過程參考定時器A和數(shù)據(jù)手冊。


4.定時器B的比較功能

當(dāng)定時器B工作在比較模式時,將數(shù)據(jù)寫入捕獲比較鎖存器TBCCRx當(dāng)中,當(dāng)TBCCTLx當(dāng)中的CLLDx位決定的裝載事件的發(fā)生時,TBCCRx中的數(shù)據(jù)會自動地傳輸?shù)奖容^寄存器當(dāng)中。

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

//系統(tǒng)時鐘初始化
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
}



關(guān)鍵詞: MSP430定時器

評論


技術(shù)專區(qū)

關(guān)閉