新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MSP430F11X的低功耗低成本實時時鐘

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

        作者: 時間:2012-02-22 來源:網絡 收藏

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

        在RTC容限要求更高的應用領域,可以使用一個更易調整的電容,在制造時進行調節。

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

        可擴展型

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

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

        軟件設計

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

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

        主循環是一個無窮循環,每當定時器A發出一個中斷時,它便調用時鐘計數子程序,否則將CPU置于休眠方式。當CPU休眠時,定時器A繼續計數。

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

        時鐘計數子程序將每一個定時器A中斷計為1秒。

        源程序

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 正阳县| 平潭县| 德江县| 承德市| 郧西县| 汉阴县| 大化| 香港 | 卓资县| 乌拉特中旗| 孟州市| 德庆县| 桐乡市| 伊金霍洛旗| 宜兰市| 泸定县| 逊克县| 云安县| 乌兰察布市| 南江县| 安远县| 宜宾市| 中西区| 舒兰市| 蕉岭县| 宁陕县| 汽车| 彰化市| 辉南县| 长岭县| 辽宁省| 浙江省| 漯河市| 武鸣县| 齐河县| 海林市| 阿拉善右旗| 崇文区| 石泉县| 楚雄市| 宝应县|