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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MSP430F11X的低功耗低成本實時時鐘

          基于MSP430F11X的低功耗低成本實時時鐘

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

          晶體的指定負載電容也影響RTC的精度,晶體的負載電容是晶體所需電容的總和,而不是晶體所提供電容的總和,晶體需要適當?shù)呢撦d電容以便在指定的頻率起振。所有的MSP430器件所用的32768Hz振蕩器已經(jīng)集成了額定電容值為12pF的負載。這就為晶體提供了全部12pF的負載,它意味著為了獲取最佳的 RTC精度,必須指定所連接的32768Hz的晶體使用12pF的負載電容。

          在RTC容限要求更高的應(yīng)用領(lǐng)域,可以使用一個更易調(diào)整的電容,在制造時進行調(diào)節(jié)。

          更高級別的陶瓷(即NP0型)電容和聚酯軟片電容較適用于定時應(yīng)用領(lǐng)域,因為它們和通用陶瓷電容相比具有更少的介質(zhì)損耗和更佳的溫度系數(shù)。

          可擴展型

          MSP430F111 是極低、低價格的微控制器,可理想的適用于器件。將MSP430作為RTC的一個主要優(yōu)點是它與專用的RTC器件相比具有可擴展性。所有的 MSP430x11x期間都包括一個16位RISC CPU、16位看門狗定時器、16位定時器A(帶3個捕捉/比較寄存器和模擬比較器)、最小128B的RAM、最小2Kb的ROM和最少14個腳通用 I/O口。很明顯MSP430能提供其它專用RTC所無法比擬的靈活性。

          除此之外,定時器A模塊能提供斜率A/D轉(zhuǎn)換、PWM輸出和工作速率高達115200波特率的UART。看門狗定時器也能作為一個簡單的定時器,并且通用I/O口和所有外圍設(shè)備具有可擴展的中斷能力。

          軟件設(shè)計

          RTC的應(yīng)用程序代碼相當簡單,包括一個初始化子程序、一個主循環(huán)、一個計算時、分、秒的計數(shù)子程序和一個處理來自定時器A的1s中斷的中斷服務(wù)子程序。

          初始化子程序可初始化MSP430的的不同部分??撮T狗定時器被禁止,定時器A模塊被配置為可連續(xù)從0數(shù)到32768,每次到達32768時便給出一個中斷。基本模塊也被設(shè)置。

          主循環(huán)是一個無窮循環(huán),每當定時器A發(fā)出一個中斷時,它便調(diào)用時鐘計數(shù)子程序,否則將CPU置于休眠方式。當CPU休眠時,定時器A繼續(xù)計數(shù)。

          定時器A中斷服務(wù)程序(ISR)處理狀態(tài)寄存器(SR)位,該位在進入ISR之前被壓入堆棧。這可使CPU在剛從ISR返回時處于有效方式,而不是休眠方式。ISR也可清零定時器A中斷標志。

          時鐘計數(shù)子程序?qū)⒚恳粋€定時器A中斷計為1秒。

          源程序

          STARTMOV#Stack,SP
          CALL#Setup;初始化設(shè)置
          MainloopBIS#LPM3,SR;CPU進入低模式3
          CALL#Clock;中斷處理后進入時鐘計算
          JMPMainloop;再次進入省電模式
          ClockSETC;設(shè)進位位
          DADC.bSECOND;秒加1
          CMP.b#060d,SECOND;判斷是否滿1分鐘
          JLOClockend;若不滿則跳出
          CLR.bSECOND;清空秒計數(shù)器
          DADC.bMINUTE;分加1
          CMP.b#60d,MINUTE;判斷是否滿1小時
          JLOClockend;若不滿則跳出
          CLR.bMINUTE;清空分鐘計數(shù)器
          DADC.bHOUR;小時加1
          CMP.b#024d,HOUR;判斷是否滿24小時
          JLOClockend;若不滿則跳出
          CLR.bHOUR;清空小時計數(shù)器
          ClockendRET
          ;設(shè)置模塊和控制寄存器
          SetupMOV#WDTPW+WDTHOLD,WDTCTL;禁止看門狗
          MOV.b#08Ch,BCSCTL1;設(shè)置振蕩器和時鐘控制寄存器
          MOV.b#000h,BCSCTL2;選擇DCOCLK為MCLK時鐘源
          SetupTAMOV#0106h,TACTL;設(shè)置定時器A控制寄存器
          MOV#CCRE0,CCTL0;中斷使能
          MOV#8000h,CCR0;設(shè)置時間間隔
          BIS#10h,TACTL;啟動TA,開始增計數(shù)模式
          ClearRAMMOV.b#00h,SECOND;清空秒、分、時計數(shù)器
          MOV.b#00h,MINUTE
          MOV.b#00h,HOUR
          EINT ;中斷使能
          RET



          評論


          相關(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); })();