新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430--定時器B

        MSP430--定時器B

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

        1.定時器B模塊:

        本文引用地址:http://www.104case.com/article/201611/322054.htm

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

        二者區(qū)別:

        (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相比較。從捕獲/比較寄存器相比較鎖存器傳輸數據的過程的時間也是可編程的,可以是寫入比較捕獲寄存器之后立即傳輸,也可有一個定時器來觸發(fā)傳輸。

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

        2.TimerB的邏輯結構圖:


        定時器B的邏輯結構基本與定時器A相同。

        3.定時器B的寄存器:

        寄存器相關位的配置過程參考定時器A和數據手冊。


        4.定時器B的比較功能

        當定時器B工作在比較模式時,將數據寫入捕獲比較鎖存器TBCCRx當中,當TBCCTLx當中的CLLDx位決定的裝載事件的發(fā)生時,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
        }



        關鍵詞: MSP430定時器

        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 根河市| 静安区| 兴仁县| 白朗县| 进贤县| 包头市| 江安县| 饶阳县| 四平市| 新蔡县| 夏河县| 诏安县| 东安县| 巴中市| 类乌齐县| 湘西| 平江县| 鄄城县| 临汾市| 宁陕县| 普宁市| 太和县| 平陆县| 建水县| 茶陵县| 西城区| 甘肃省| 沂水县| 张掖市| 东源县| 昌黎县| 平和县| 仪陇县| 大连市| 宁波市| 大足县| 罗江县| 德昌县| 隆回县| 海南省| 宁陵县|