|
單片機(jī)休眠,自身耗電是uA級(jí)的,但不代表外圍電路不耗電。這取決于你的電路設(shè)計(jì)和編程。單片機(jī)休眠之前把當(dāng)前狀態(tài)保存,關(guān)閉外設(shè),進(jìn)入休眠。喚醒后恢復(fù)之前保存的狀態(tài)。以下是一鍵開(kāi)關(guān)機(jī)的掉電模式函數(shù),供參考。
- void Shutdown()//掉電模式函數(shù)
- {
- if(allow)
- {
- P1=0xff; //關(guān)閉LED顯示
- //關(guān)閉所有在用硬件,減小能耗
- EX0 = 1; //打開(kāi)中斷
- PCON = 0x02;//MCU進(jìn)入掉電模式
- _nop_(); //掉電模式被喚醒后,首先執(zhí)行此語(yǔ)句,然后再進(jìn)入中斷服務(wù)程序
- _nop_(); //中斷服務(wù)程序執(zhí)行完再接著此句繼續(xù)執(zhí)行
- EX0 = 0; //關(guān)閉中斷
- while(!key);//等待按鍵松手,防止按鍵掃描程序誤讀
- //打開(kāi)所有在用硬件,恢復(fù)正常運(yùn)行
- P1=~Temp; //恢復(fù)LED顯示
- allow=0; //清0
- }
- }
復(fù)制代碼 |
|