#include "STC8.h"
#include "intrins.h"
#define IDL 0x01 //PCON.0
#define PD 0x02 //PCON.1
void main()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
P6M0 = 0x00;
P6M1 = 0x00;
_nop_();
_nop_();
_nop_();
_nop_();
//PCON = IDL; //MCU进入IDLE模式
PCON = PD; //MCU进入掉电模式
_nop_();
_nop_();
_nop_();
_nop_();
while (1);
}
工作电流在680uA左右,注释掉 PCON = PD;后,工作电流还在680uA左右,不知道是什么原因。
newlined 发表于 2025-10-22 11:58
版主您好,板子上的cpu是 32G12K64,我看硬件设计,把第20脚(VRef+)跟19脚VCC接在一起
。是不是这样耗 ...
应该是不影响的,我测的PDIP40封装这个本身就是连在一起的
newlined 发表于 2025-10-22 13:49
在一块只焊接了MCU、电源滤波电容(104和22u)的板子上,没有焊二极管,下载了如下程序:
还是用这个贴里代码测试(P33接地进入低功耗状态),32G8K64最小系统,0.7 uA左右:
https://www.stcaimcu.com/forum.p ... id=18635&pid=172110
958
ercircle 发表于 2025-10-22 14:48
还是用这个贴里代码测试(P33接地进入低功耗状态),32G8K64最小系统,0.7 uA左右:
https://www.stcaimcu ...
非常感谢版主的实验,我这边也找到了问题,在8H的单片机上可以实现掉电状态下,电流0.7uA。这几天我是用3.3V的纽扣电池给板子供电,纽扣电池的容量有限,经过这几天的实验,纽扣电池空载状态下电压是3V,加到单片机上后我实际量了下只有1.8V左右,我看手册,8H的单片机工作电压在1.9V-5.5V,这样单片机的程序不能正常执行,所以不能进入掉电状态,我现在正在把这个程序改到32G的板子上。
程序如下:
include "STC8H.H"
void Delay10ms(void); //@11.0592MHz
void main(void)
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
P6M0 = 0x00;
P6M1 = 0x00;
Delay10ms(); //@11.0592MHz
PCON = 0x02; //MCU进入掉电模式
}
void Delay10ms(void) //@11.0592MHz
{
unsigned char data i, j;
i = 108;
j = 145;
do
{
while (--j);
} while (--i);
}
页:
1
[2]