新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430的低功耗事件驅動工作模式

        MSP430的低功耗事件驅動工作模式

        作者: 時間:2013-01-16 來源:網絡 收藏

        事件驅動

        系列單片機的各個模塊都可以獨立運行,如定時器、輸入/輸出端口、A/D轉換、看門狗、液晶顯示器等都可以在CPU休眠的狀態下獨立工作。若需要主CPU工作,任何一個模塊都可以通過中斷喚醒CPU,從而使系統以最運行。

        讓CPU工作于突發狀態可以充分利用CPU的性能。通常,使用軟件將CPU設定到某一低功耗模式,在需要時使用中斷將CPU從休眠狀態中喚醒,完成工作后又可以進入相應的休眠狀態。如:讓CPU工作在LPM3狀態,通過中斷事件轉換到AM活動模式,根據運行需要,又可以從AM狀態進入相應的低功耗模式:LPM0/LPM3或LPM4。

        系統的這些低功耗特性是靠系統對中斷的響應來實現的。系統響應中斷的過程:(1)硬件自動中斷服務。包括PC入棧、SR入棧;中斷向量賦給PC;GIE、CPUOFF、OSCOFF和SCG1清除;以及IFG標志位清除(單源中斷標志)。(2)執行中斷處理子程序。(3)執行RETI指令(中斷返回),包括SR出棧;PC出棧。

        例如:系統初始化完成后工作于低功耗模式0,中斷事件觸發到活動模式,中斷處理結束后進入低功耗模式3。

        ;主程序

        ……;初始化操作開始

        ……;

        ……;初始化結束

        BIS #GIE+CPUOFF, SR ; 主程序中設置低功耗模式0,LPM0

        ;……;程序在這里停止

        ;中斷子程序

        ……

        ……; 中斷處理結束

        BIS #GIE+CPUOFF+SCG1+SCG0, 0(SP) ; 設置SR為低功耗模式3,LPM3

        RETI; 中斷返回

        ;系統進入低功耗模式3

        ……

        如果主程序期待在中斷返回之后繼續執行某些操作,可以在中斷處理子程序中改變SR的值為AM模式,系統中斷退出后根據恢復的SR和PC的值,來執行設定的某些操作。

        ;主程序

        ……;初始化操作開始

        ……;

        ……;初始化結束

        BIS #GIE+CPUOFF, SR ; 主程序中設置低功耗模式0,LPM0

        L1 操作1

        L2 操作2

        ……;

        ;中斷子程序

        …… ;中斷處理開始

        ……

        ……; 中斷處理結束

        BIS #GIE+CPUOFF, 0(SP) ; 設置SR為活動模式,AM

        RETI; 中斷返回,系統進入活動模式

        ……

        主程序執行到LPM0處停止執行,L1,L2等語句不執行。之后中斷事件保存PC(L1指令地址)和SR(低功耗模式0),中斷喚醒CPU,執行中斷處理程序;由于在中斷處理子程序中將SR設置為活動模式,所以中斷返回后CPU處于活動狀態,并從PC指向的L1指令處開始繼續執行…… 。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 娄烦县| 宾阳县| 慈溪市| 滁州市| 稻城县| 大港区| 东辽县| 临邑县| 宝兴县| 泸州市| 余江县| 多伦县| 边坝县| 醴陵市| 迁安市| 荆州市| 恭城| 利川市| 密云县| 濮阳市| 六枝特区| 都江堰市| 五台县| 贵港市| 桑日县| 库尔勒市| 文成县| 东阳市| 中山市| 昌乐县| 南召县| 平潭县| 吉水县| 鄂托克旗| 新民市| 临城县| 札达县| 莒南县| 安达市| 西吉县| 宜丰县|