sky999
发表于 2024-3-19 09:29:26
神农鼎 发表于 2024-3-19 08:59
下面这个测试程序,只有 STC8H耗电,测试下
===板上其他外围器件拆除
测试这个程序,只有0.05mA,怪了,哪里出了问题了
sky999
发表于 2024-3-19 09:30:58
电子DIY小家 发表于 2024-3-19 08:59
0.83ma?你这个进入睡眠模式之前IO模式和外设使能寄存器那些都关了嘛?
IO全部设置为标准模式了呀。还有其他要设置的吗
神农鼎
发表于 2024-3-19 09:38:02
先焊个空板,只有 电源+MCU, 先调到 <1uA,
再一个器件,一个器件的 过
社区闲人
发表于 2024-3-19 09:38:36
修改原理图吧。
增加一个PMOS管,用空闲的IO口,进入睡眠模式之前将NTC的电源关了。
sky999
发表于 2024-3-19 09:48:03
神农鼎 发表于 2024-3-19 09:38
先焊个空板,只有 电源+MCU, 先调到
不用,测试你上面发的那个程序,只有0.05mA,我觉得这样就可以,但是不知道0.83mA到底是程序上哪来的
神农鼎
发表于 2024-3-19 09:51:14
你自己先拆掉外围电路,再 1个个往上加,
这个靠你自己先做减法,然后再做加法了,
都是这样熬成高手的
先减到 < 1uA, 扎实基本功
梁工
发表于 2024-3-19 09:54:09
sky999 发表于 2024-3-19 08:51
试了,是PCON = 0X02;指令对吧?
可是不知道为什么,我明明在进入睡眠模式前,关闭了所有中断,
测量电流 ...
进入睡眠命令序列:
PCON |= 0x02; //进入睡眠
_nop_(); //至少3个NOP
_nop_();
_nop_();
另外,你的外围电路要关闭耗电。可以只测MCU。
xxxevery
发表于 2024-3-19 10:53:55
大电容有可能有漏电的,还有省电模式下所有IO口设置成高阻输入,并且关闭数字输入
sky999
发表于 2024-3-19 11:23:55
梁工 发表于 2024-3-19 09:54
进入睡眠命令序列:
PCON |= 0x02; //进入睡眠
_nop_(); //至少3个NOP
能不能帮我看下,下面这段代码到底有什么问题?因为只要加上这段代码就是0.83mA,去掉就是0.05mA
TSTH00 = 0x3800;
TSRT = 0;
TSCHEN1 = 0X01; //0000 0010 TK0/P10
TSCHEN2 = 0X00;
TSCFG1= 0X33; //(7<<4) + 7 ; //开关电容工作频率 = fosc/(2*(TSCFG1+1)), 放电时间(系统时钟周期数) 0(125) 1(250) 2(500) 3(1000) 4(2000) 5(2500) 6(5000) 7(7500) 最小3
TSCFG2= 3; //配置触摸按键控制器的内部参考电压(AVCC的分压比), 0(1/4)1(1/2)2(5/8)3(3/4)
TSWUTC = 0XFF; //3S
TSCTRL = 0X8F; // 0X8C把C改为F,把重复扫描1次变成4次
IE2 |= 0x80; //允许触摸按键中断
梁工
发表于 2024-3-19 12:54:58
sky999 发表于 2024-3-19 11:23
能不能帮我看下,下面这段代码到底有什么问题?因为只要加上这段代码就是0.83mA,去掉就是0.05mA
单看这段初始化代码没啥问题。还要注意睡眠前处理,还要有中断函数,请参考我的程序。
// TSCHEN1 = 0x01; //TK0~TK7 仅仅允许K0唤醒
// TSCHEN2 = 0x00; //TK8~TK15
TSCTRL = (1<<3) + (1<<2) + 0; //关闭触摸模块, 允许16位数字比较器, 允许低功耗唤醒。 B7: TSGO,B6: SINGLE,B5: TSWAIT, B4: TSWUCS, B3: TSDCEN, B2: TSWUEN, B1 B0: TSSAMP
PCON |= 0x02; //睡眠
NOP(5);
// P_RUN_LED = ~P_RUN_LED; //取反指示
// TSCHEN1 = 0xff; //TK0~TK7 允许所有16个键
// TSCHEN2 = 0xff; //TK8~TK15
TSCTRL = (1<<7) + (1<<3) + (1<<2) + 0; //开始扫描, 无平均, B7: TSGO,B6: SINGLE,B5: TSWAIT, B4: TSWUCS, B3: TSDCEN, B2: TSWUEN, B1 B0: TSSAMP
触摸按键唤醒,1uA/1个键/1秒唤醒,STC触摸MCU, 唤醒【主时钟停振/省电模式】
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=5167
(出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)