×
嵌入式 > 技术百科 > 详情

EM78P156N休眠模式的应用

发布时间:2020-05-30 发布时间:
|
仿真器的设置时候需要注意

(休眠模式程序的编写,注意: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

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil5(MDK5)在调试(debug)过程中遇到的问题