STC8H 用PWMA呼吸灯实验后,开启掉电模式,需关闭哪些
以前不用PWM做呼吸灯,掉电模式基本无功耗,现在用了之后,有了微小功耗,使能P_SW2后:PWMA_CCMR1 = 0x40; PWMA_BKR = 0x00;PWMA_ENO = 0x00;这三项分别设置试过,感觉没区别,是否还要注意哪些?请参考范例程序
呼吸灯功能已经是实现了的,就是想问掉电模式下,PWM不工作后,需要关哪些才能功耗低。目前按我上面的关掉,还有功耗 你说你关了哪些,请梁工来补充 睡眠前让PWM输出占空比为0(LED无电流),并且设置IO处于不耗电状态。
=====================================================================================
睡眠时IO不耗电的处理方法:
1、对于设置为准双向口、推挽输出、开漏输出低电平的IO,IO本身不耗电,输出电平与外部电路配合成外部电路不耗电的方式即可。
2、设置为高阻或开漏输出高电平的IO,如果悬空,则会因为输入状态不确定导致有电流,以下两种方式任选一种:
A、IO口接一个确定的高电平(电压高于VDD-0.3)或低电平(电压低于0.3V),否则耗电。
B、将IO口对应的数字输入功能关闭(对于STC8系列、STC32系列)。
比如关闭P1.0、P1.1的数字输入:
P_SW2 |= 0x80; //允许操作扩展寄存器
P1IE = ~0x03;//将P1.0 P1.1的数字输入功能关闭
3、睡眠前,禁止ADC(如果已经允许的话),禁止模拟比较器(如果已经允许的话)。
4、最好在主程序进入睡眠,至少要3个空操作(NOP)。
PCON |= 0x02;
_nop_();
_nop_();
_nop_();
=====================================================================================
页:
[1]