特別對于電池供電系統(tǒng)來說,功耗是首要考慮的問題.我們知道單片機內(nèi)部有一個電源管理寄存器PCON,這個寄存器的最低兩位,IDL和PD這兩位分別用來設定是否使單片機進入空閑模式和掉電模式。
1. 空閑模式
當單片機進入空閑模式時,除CPU處于休眠狀態(tài)外,其余硬件全部處于活動狀態(tài),芯片中程序未涉及到的數(shù)據(jù)存儲器和特殊功能寄存器中的數(shù)據(jù)在空閑模式期間都將保持原值。但假若定時器正在運行,那么計數(shù)器寄存器中的值還將會增加。單片機在空閑模式下可由任一個中斷或硬件復位喚醒,需要注意的是,使用中斷喚醒單片機時,程序從原來停止處繼續(xù)運行,當使用硬件復位喚醒單片機時,程序?qū)念^開始執(zhí)行。
讓單片機進入空閑模式的目的通常是為了降低系統(tǒng)的功耗,舉個很簡單的例子,大家都用過數(shù)字萬用表,在正常使用的時候表內(nèi)部的單片機處于正常工作模式,當不用時,又忘記了關(guān)掉萬用表的電源,大多數(shù)表在等待數(shù)分鐘后,若沒有人為操作,它便會自動將液晶顯示關(guān)閉,以降低系統(tǒng)功耗,通常類似這種功能的實現(xiàn)就是使用了單片機的空閑模式或是掉電模式。以STC89系列單片機為例,當單片機正常工作時的功耗通常為4mA~7mA,進入空閑模式時其功耗降至2mA,當進入掉電模式時功耗可降至0.1μA以下。
2. 休眠模式
當單片機進入掉電模式時,外部晶振停振、CPU、定時器、串行口全部停止工作,只有外部中斷繼續(xù)工作。使單片機進入休眠模式的指令將成為休眠前單片機執(zhí)行的最后一條指令,進入休眠模式后,芯片中程序未涉及到的數(shù)據(jù)存儲器和特殊功能寄存器中的數(shù)據(jù)都將保持原值??捎赏獠恐袛嗟碗娖接|發(fā)或由下降沿觸發(fā)中斷或者硬件復位模式換醒單片機,需要注意的是,使用中斷喚醒單片機時,程序從原來停止處繼續(xù)運行,當使用硬件復位喚醒單片機時,程序?qū)念^開始執(zhí)行。
可將數(shù)字萬用表調(diào)節(jié)到電流檔,然后串接入電路中,觀察單片機在正常工作模式、休眠模式、空閑模式下流過系統(tǒng)的總電流變化情況,經(jīng)測試可發(fā)現(xiàn)結(jié)果如下:正常工作電流>空閑模式電流>休眠模式電流。