EM78P156N休眠模式的應用
(休眠模式程序的編寫(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í)測:4.5V工作電壓,休眠時(shí)候功耗為<1uA(很低功耗)
/******************************************************/
休眠模式的相關(guān)介紹:
執行SLEP 指令可進(jìn)入休眠模式(低功耗模式)。進(jìn)入休眠模式時(shí),WDT(若使能)清0 但
繼續運行。單片機可被如下情況喚醒:
A)/RESET 引腳上輸入的外部復位信號。
B)WDT 溢出(若使能)。
C)PORT6 端口輸入引腳狀態(tài)變化。
喚醒后程序繼續執行,由中斷狀態(tài)來(lái)決定程序是否轉入中斷處理程序。如果在SLEP 指令執行
前執行ENI 指令,程序將從地址0X08 處執行中斷處理。如果在執行SLEP 指令前執行DISI 指
令,程序將從SLEP 指令后繼續執行。
進(jìn)入休眠狀態(tài)前,B、C 兩種情況只有一種可被使能。
i. 如果休眠前PORT6 輸入喚醒使能,則WDT 應由軟件禁止(代碼選擇寄存器中WDT 仍為
使能)。因此,EM78P156E 可被A、C 兩種情況喚醒。
ii. 如果WDT 使能,則PORT6 輸入喚醒應禁止。因此,EM78P156E 可被A、B 兩種情況喚醒。
如果PORT6 輸入變化中斷被用于喚醒單片機,則如下指令應在SLEP 指令前執行:
休眠子程序:
/*********單片機休眠子程序************/
SLEEP:
MOV A,@0B00000110 ;選擇TCC內部時(shí)鐘
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 ;進(jìn)入休眠
NOP
MOV A,@0x00 ;WDT DISABLE
IOW 0x0E
NOP
RET
評論