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(很低功耗)
/******************************************************/
休眠模式的相关介绍:
执行SLEP 指令可进入休眠模式(低功耗模式)。进入休眠模式时,WDT(若使能)清0 但
继续运行。单片机可被如下情况唤醒:
A)/RESET 引脚上输入的外部复位信号。
B)WDT 溢出(若使能)。
C)PORT6 端口输入引脚状态变化。
唤醒后程序继续执行,由中断状态来决定程序是否转入中断处理程序。如果在SLEP 指令执行
前执行ENI 指令,程序将从地址0X08 处执行中断处理。如果在执行SLEP 指令前执行DISI 指
令,程序将从SLEP 指令后继续执行。
进入休眠状态前,B、C 两种情况只有一种可被使能。
i. 如果休眠前PORT6 输入唤醒使能,则WDT 应由软件禁止(代码选择寄存器中WDT 仍为
使能)。因此,EM78P156E 可被A、C 两种情况唤醒。
ii. 如果WDT 使能,则PORT6 输入唤醒应禁止。因此,EM78P156E 可被A、B 两种情况唤醒。
如果PORT6 输入变化中断被用于唤醒单片机,则如下指令应在SLEP 指令前执行:
休眠子程序:
/*********单片机休眠子程序************/
SLEEP:
MOV A,@0B00000110 ;选择TCC内部时钟
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
EM78P156N休眠模 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)