<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > MSP430F149 定時(shí)器

MSP430F149 定時(shí)器

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò ) 收藏
(1)利用定時(shí)器A的模式2(連續)實(shí)現的定時(shí)資料

利用定時(shí)器A的模式2(連續)實(shí)現的定時(shí)資料 在程序中對TACTL的控制,當TACTL為如下的賦值時(shí)

TACTL = TASSEL_2 + MC_2 + TAIE; // SMCLK, contmode, interrupt

可以改變TASSEL_X來(lái)實(shí)現不同的定時(shí),

當為T(mén)ASSEL_1時(shí)選ACLK為定時(shí)時(shí)鐘,可以實(shí)現最短2S的定時(shí),其次為2S的倍數的定時(shí)。

當為T(mén)ASSEL_2時(shí)選 SMCLK為定時(shí)時(shí)鐘,定時(shí)取決于SMCLK的時(shí)鐘源,

1、SMCLK選 DCO = 800KHZ為時(shí)鐘源,最短定時(shí)時(shí)間 為 0.08S 的定時(shí),其次為其倍數。
2、SMCLK選 XT2也即外部高頻晶振,此時(shí)定時(shí)取決于晶振頻率,及其對分頻的設置上。主要是設置BCSCTL1及 BCSCTS2.

BCSCTL1 &= ~XT2OFF;
BCSCTL2 |= SELS + DIVS_3;

通過(guò)對上面兩句的不同設置,可實(shí)現不同的延時(shí)。



/******************************************************************************
// MSP-FET430P140 Demo - Timer_A, Toggle P3.4, Overflow ISR, DCO SMCLK
//
// Description: Toggle P3.4 using software and Timer_A overflow ISR.
// In this example an ISR triggers when TA overflows. Inside the TA
// overflow ISR P3.4 is toggled. Toggle rate is approximatlely 12Hz.
// Proper use of the TAIV interrupt vector generator is demonstrated.
// ACLK = n/a, MCLK = SMCLK = TACLK = default DCO ~800kHz
//
//MSP430F149
// ---------------
// /|| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P3.4|-->LED
//
// Dasheng
// LiTian Electronic Inc.
// Feb 2008
// Built with IAR Embedded Workbench Version: 3.42A
功 能: 由定時(shí)器A,采用800KHz的DCO,來(lái)實(shí)現近一秒的定時(shí)中斷;
計算方法: T = 1/800,000 = 1.25uS so 根據連續計數模式,當計到0XFFFF時(shí),發(fā)生溢出中斷
因此溢出一次的時(shí)間是: 65536*1.25 = 0.0819S,所以計時(shí)1秒需12次溢出。
******************************************************************************/

#include

typedef unsigned char uchar;
typedef unsigned int uint;
uchar flag=0;

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BCSCTL1 &= ~XT2OFF;
BCSCTL2 |= SELS + DIVS_3;

3DIR|= BIT4;

TACTL = TASSEL_2 + MC_2 + TAIE; // SMCLK, contmode, interrupt
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt

}
// Timer_A3 Interrupt Vector (TAIV) handler
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch( TAIV )
{
case 2: break; // CCR1 not used
case 4: break; // CCR2 not used
case 10: P4OUT ^= BIT5; // overflow
break;
}
}

/*

// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P4OUT ^= BIT5; // Toggle P3.4
}

*/

(2)利用定時(shí)器A的模式1(上升)實(shí)現的定時(shí)資料

此時(shí)要用到TACCTL0 及 TACCR0 ,根據設定的不同的TACCR0及不同的TASSEL_X即可實(shí)現不同的定時(shí)。

但此時(shí)的中斷程序要改變。

對定時(shí)器A的中斷的說(shuō)明:

1、TIMERA1_VECTOR 的中斷地址為 0XFFEA, 此中斷入口地址包含3個(gè)中斷源,屬于多源中斷,通過(guò)TAIV的值,可以知道是哪個(gè)源的中斷,當TAIV 為0X02H時(shí) 中斷源為 TACCR1 CCR1IFG

當TAIV 為0X04H時(shí),中斷源為 TACCR2 CCR2IFG

當TAIV 為0X0AH時(shí),中斷源為 TA OVERFLOW TAIFG

2、TIMERA0_VECTOR 的中斷地址為 0XFFEC 為單源中斷,中斷源為T(mén)ACCR0 CCR0IFG


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: MSP430F149定時(shí)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>