<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

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

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

          DCO 實(shí)質(zhì)上是一個(gè)RC振蕩器,具有RC振蕩器的特點(diǎn)。其在頻率的設(shè)置和轉(zhuǎn)換上不準(zhǔn)確,但由于它是數(shù)字控制的振蕩器,可以通過(guò)一個(gè)已知的頻率穩(wěn)定的晶振如 32768Hz手表晶振來(lái)進(jìn)行校準(zhǔn),使DCO達(dá)到準(zhǔn)確的頻率。因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/MSP430F149">MSP430F149不含有鎖頻環(huán)數(shù)字邏輯,所以只有通過(guò)軟件進(jìn)行“軟鎖頻”校準(zhǔn) DCO,這十分重要。

          程序如下:

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

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

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

          Test_DCO bit #CCIFG,CCTL2;檢測(cè)捕獲標(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



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();