新聞中心

MSP430定時(shí)器詳解

作者: 時(shí)間:2013-01-16 來(lái)源:網(wǎng)絡(luò) 收藏

/*******************************************

函數(shù)名稱:InitClock

功 能:初始化時(shí)鐘函數(shù)

參 數(shù):無(wú)

返回值 :無(wú)

********************************************/

void InitClock()

{

unsigned int oscdly;

BCSCTL1 = ~XT2OFF; //------------清OSCOFF/XT2,使XT2振蕩器有效

do

{

IFG1 =~OFIFG; //------------清OFIFG

oscdly=255;

while(oscdly--); //------------延時(shí)等待

}

while(IFG1 OFIFG); //------------直到OFIFG=0為止

//-------------------------------------------------------------

DCOCTL |= DCO0 + DCO1 + DCO2; // Max DCO

BCSCTL1 |= RSEL0 + RSEL1 + RSEL2; // XT2on, max RSEL

//這兩句設(shè)置DCOCTL和BCSCTL1,設(shè)置DCO的頻率

//一般來(lái)說(shuō),PUC復(fù)位之后,如果沒(méi)有特定設(shè)置系統(tǒng)時(shí)鐘MCLK,MCU將默

//認(rèn)DCO振蕩器產(chǎn)生的頻率為系統(tǒng)時(shí)鐘,不過(guò)如果設(shè)置BCSCTL2來(lái)選定

//MCLK的時(shí)鐘源的話(如:BCSCTL2 |= SELM_2+SELS;)系統(tǒng)時(shí)鐘就是由

//XT2振蕩而來(lái).

//-------------------------------------------------------------

BCSCTL2 |= SELM_2+SELS; //SMCLK and MCLK uses XT2

//這一句設(shè)置BCSCTL2,選定MCLK和SMCLK的時(shí)鐘源

//注意:ACLK只能來(lái)源于LFXT1.可以在BCSCTL1里設(shè)置ACLK的分頻。

//-------------------------------------------------------------

}

/*******************************************

函數(shù)名稱:Timer_A

功 能:A中斷服務(wù)子函數(shù),當(dāng)

參 數(shù):無(wú)

返回值 :無(wú)

********************************************/

// Timer A0 interrupt service routine

#pragma vector=TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

P3OUT ^= BIT4; // Toggle P3.4

}

[/td][/tr]

------------------------------

其實(shí)捕獲相當(dāng)于51的外部中斷?只不過(guò),里,把捕獲和做在了一起。


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

關(guān)鍵詞: MSP430 定時(shí)器 比較模式

評(píng)論


相關(guān)推薦

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

關(guān)閉