EM78P156N休眠模式的應用
(休眠模式程序的編寫,注意:co
EM78P156N.pdf介紹休眠時候功耗1uA.
Low power consumption:
* Less then 2 mA at 5V/4MHz
* Typically 20 μA at 3V/32KHz
* Typically 1 μA during sleep mode
實測:4.5V工作電壓,休眠時候功耗為<1uA(很低功耗)
/******************************************************/
休眠模式的相關(guān)介紹:
執(zhí)行SLEP 指令可進入休眠模式(低功耗模式)。進入休眠模式時,WDT(若使能)清0 但
繼續(xù)運行。單片機可被如下情況喚醒:
A)/RESET 引腳上輸入的外部復位信號。
B)WDT 溢出(若使能)。
C)PORT6 端口輸入引腳狀態(tài)變化。
喚醒后程序繼續(xù)執(zhí)行,由中斷狀態(tài)來決定程序是否轉(zhuǎn)入中斷處理程序。如果在SLEP 指令執(zhí)行
前執(zhí)行ENI 指令,程序?qū)牡刂?X08 處執(zhí)行中斷處理。如果在執(zhí)行SLEP 指令前執(zhí)行DISI 指
令,程序?qū)腟LEP 指令后繼續(xù)執(zhí)行。
進入休眠狀態(tài)前,B、C 兩種情況只有一種可被使能。
i. 如果休眠前PORT6 輸入喚醒使能,則WDT 應由軟件禁止(代碼選擇寄存器中WDT 仍為
使能)。因此,EM78P156E 可被A、C 兩種情況喚醒。
ii. 如果WDT 使能,則PORT6 輸入喚醒應禁止。因此,EM78P156E 可被A、B 兩種情況喚醒。
如果PORT6 輸入變化中斷被用于喚醒單片機,則如下指令應在SLEP 指令前執(zhí)行:
休眠子程序:
/*********單片機休眠子程序************/
SLEEP:
MOV A,@0B00000110 ;選擇TCC內(nèi)部時鐘
CONTW
CLR R1 ;TCC預分頻器清0
MOV A,@0B00001110 ;選擇WDT預分頻
CONTW
WDTC ;清WDT和預分頻器
MOV A,@0B00000000 ;WDT禁止
IOW IOCE
MOV R6,R6 ;讀PORT6端口
MOV A,@0B00000010 ;使能PORT6輸入變化中斷
IOW RF
DISI ;禁止全局中斷
SLEP ;進入休眠
NOP
MOV A,@0x00 ;WDT DISABLE
IOW 0x0E
NOP
RET
評論