微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > EM78P156N休眠模式的应用

EM78P156N休眠模式的应用

时间:11-13 来源:互联网 点击:
仿真器的设置时候需要注意

休眠模式程序的编写,注意:code option中wdt 要enable,不然仿真不出来中断唤醒)

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top