新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 應(yīng)用MSP430F149單片機的超低頻波形發(fā)生器

應(yīng)用MSP430F149單片機的超低頻波形發(fā)生器

作者: 時間:2012-02-25 來源:網(wǎng)絡(luò) 收藏

3 用實現(xiàn)PWM功能的軟件設(shè)計

在該超低頻的軟件設(shè)計中,主要應(yīng)用到了以下幾個功能模塊:Timer_B定時器、Timer_A定時器、CPU寄存器、片內(nèi)的數(shù)字控制晶振以及XT1低功耗振蕩器,其主程序流程圖如圖3所示。

3.1 穩(wěn)定DCO頻率模塊

DCO 實質(zhì)上是一個RC振蕩器,具有RC振蕩器的特點。其在頻率的設(shè)置和轉(zhuǎn)換上不準(zhǔn)確,但由于它是數(shù)字控制的振蕩器,可以通過一個已知的頻率穩(wěn)定的晶振如 32768Hz手表晶振來進行校準(zhǔn),使DCO達到準(zhǔn)確的頻率。因為不含有鎖頻環(huán)數(shù)字邏輯,所以只有通過軟件進行“軟鎖頻”校準(zhǔn) DCO,這十分重要。

程序如下:

Setup_TA mov #TASSEL1+TACLR,TACTL;設(shè)置TA時鐘SMCLK

Setup_CC2 mov #CCIS0+CM0+CAP,CCTL2;設(shè)置CCR2,輸入信號:;ACLK,捕獲模式

Bis #MC1,TACTL;設(shè)置Timer_A:連接模式

Test_DCO bit #CCIFG,CCTL2;檢測捕獲標(biāo)志位

jz Test_DCO

bic #CCIFG,CCTL2 ;清除標(biāo)志位

AdjDCO mov CCR2,R14

;R14=捕獲的SMCLK值

sub R15,R14;R14=捕獲SMCLK的差值

mov CCR2,R15;上次捕獲的SMCLK值

com #Delta,R14 ;Delta=SMCLK/ACLK

jlo IncDCO

jeq DoneFLL

DecDCO dec.b DCOCTL ;調(diào)整DCO

jmp Test_DCO

IncDCO inc.b DCOCTL

Jmp Test_DCO

DoneFLL clr CCTL2 ;停止CCR2

Clr TACTL ;停止Timer_A



評論


相關(guān)推薦

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

關(guān)閉