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