zhf16900 发表于 2023-3-9 11:45:48

STC8G1K08-36I 咨询一个低功耗的问题!

      请教大神们,有一个小应用使用STC8G1K08-36I-SOP8。控制逻辑是:靠INT0唤醒MCU,当MCU唤醒后,一个IO口驱动三极管或mosfat,控制灯光亮启;当灯光亮启后,延时一段时间熄灭。当灯光熄灭后,MCU进入停机模式(等待下一次INT0唤醒)。

      我问题是当MCU进入停机模式后,测量整个电路还有,50uA~60uA电流。怎样可以将电流控制的更低?另附原理图。

神农鼎 发表于 2023-3-9 13:32:12

不用的浮空的I/O,设置为准双向口

chen 发表于 2023-3-9 13:39:42

应该是P54置0之后内部上拉电阻耗电,进入低功耗之前配置一下io就好了

zhf16900 发表于 2023-3-9 13:43:27

本帖最后由 zhf16900 于 2023-3-9 13:51 编辑

神农鼎 发表于 2023-3-9 13:32
不用的浮空的I/O,设置为准双向口
谢谢,神农鼎!IN0 的配置我改为准双向!但是停机模式启动后,整个电路电流没有明显的变化。我的思路是正常唤醒后P5.4为推挽输出(使能内部上拉),IN0为准双向口(除能外部上拉,使用电阻上拉)。在停机模式前,会将不用的IO和P5.4配置为高阻输入,并取消内部上拉。IN0仍保持准双向口。之后延时一段时间,在进入停机模式。这样操作IO对吗?

神农鼎 发表于 2023-3-9 13:49:24

在停机模式前,会将所有的IO配置为高阻输入,取消内部上拉(除了IN0)
===你这是错误到,数字电路不要有浮空的输入,这句话都忘了

设置为准双向口,就是【数字电路不要有浮空的输入】

zhf16900 发表于 2023-3-9 13:52:26

神农鼎 发表于 2023-3-9 13:49
在停机模式前,会将所有的IO配置为高阻输入,取消内部上拉(除了IN0)
===你这是错误到,数字电路不要有浮 ...

好的,谢谢!

梁工 发表于 2023-3-9 15:32:13

睡眠时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(如果已经允许的话),禁止模拟比较器(如果已经允许的话)。

页: [1]
查看完整版本: STC8G1K08-36I 咨询一个低功耗的问题!