zyj1739 发表于 2023-7-27 12:12:02

STC8H 用PWMA呼吸灯实验后,开启掉电模式,需关闭哪些

以前不用PWM做呼吸灯,掉电模式基本无功耗,现在用了之后,有了微小功耗,使能P_SW2后:PWMA_CCMR1 = 0x40; PWMA_BKR = 0x00;PWMA_ENO = 0x00;这三项分别设置试过,感觉没区别,是否还要注意哪些?

国学芯用 发表于 2023-7-28 14:02:52


请参考范例程序   

zyj1739 发表于 2023-7-28 14:39:16

呼吸灯功能已经是实现了的,就是想问掉电模式下,PWM不工作后,需要关哪些才能功耗低。目前按我上面的关掉,还有功耗

神农鼎 发表于 2023-7-30 07:43:58

你说你关了哪些,请梁工来补充

梁工 发表于 2023-7-31 11:58:54

睡眠前让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]
查看完整版本: STC8H 用PWMA呼吸灯实验后,开启掉电模式,需关闭哪些