STC8G1K17A始终进入不了省电模式
STC8G1K17A进入不了省电模式任凭我如何设置 关闭外设,电流时钟保持3-4mA的单片机工作电流,请问可能是哪里问题呢。代码如下:
#define MAIN_Fosc 6000000L //定义主时钟
#define Timer0_Reload (65536UL -(MAIN_Fosc / 1000)) //Timer 0 中断频率, 1000次/秒
void delay1ms(unsigned int count)
{
AUXR = 0x80; //Timer0 set as 1T, 16 bits timer auto-reload,
TR0 = 1; //Tiner0 run
while(count)
{
TH0 = (u8)(Timer0_Reload / 256);
TL0 = (u8)(Timer0_Reload % 256);
while(TF0==0);
TF0 = 0;
count--;
}
TR0 = 0;
}
void main()
{
P_SW1 |= 0x80;
P_SW2 |= 0xB0;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
//P3PU = 0x0c;
// P3M0 = 0x0c;
I2CCFG = 0xe0;
I2CMSST = 0x00;
// EA = 0;
delay1ms(500);
oled_061_Init();
delay1ms(100);
// P0IE = 0
// P1IE = 0;
// P3IE = 0;
// P5IE = 0;
I2C_ADDR = 0;
I2CCFG = 0x00;
P1M1 = 0xff;
P3M1 = 0xff;
P5M1 = 0xff;
P0IE= 0;
P1IE= 0;
P3IE= 0;
P5IE= 0;
_nop_();
_nop_();
_nop_();
PCON |= 0x02;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
while(1);
}
省电模式,I/O口如何设置才省电,进入主时钟停振/省电模式前:
========STC8/STC32系列
1,不用的I/O口,就是浮空的I/O, 关闭数字输入
2,用作模拟输入的口,一般是配置成高阻输入,也要关闭数字输入
===指用作 ADCx外部模拟输入的I/O
===指用作 比较器外部模拟输入的I/O
3,用作高阻输入的I/O, 也要关闭数字输入
4,I/O外部是高电平的,你如要工作在输出,你就置高
I/O外部是低电平的,你如要工作在输出,你就置低
否则两边的电平电位不同,就会水往低处走,有电流流进或流出
如你I/O外部的输入电平Vx在 MCU_Gnd < Vx < MCU_VCC
这时工作在输出,也会有电流流动
所以进省电模式前,要设置为高阻输入,并关闭数字输入
5,如有RTC/实时时钟功能,在省电时工作的MCU, 【P1.7/XTALI, P1.6/XTALO】
【P1.7/XTALI, P1.6/XTALO】- 接外部32768-RTC晶振,
必须保持高阻输入,并必须关闭数字输入
谢谢,我排查下 我改了下错误的字 电路图见附件,看下哪里有可能导致休眠打开关闭 只相差1mA电流。 请问实际输入电压是多少伏,
稳压管的最低启动电压是多少伏,
现在 MCU-VCC实际测试是多少伏,
怀疑稳压管已启动工作 ?
R10/D2组合有功耗 ?
神农鼎 发表于 2023-10-31 15:30
请问实际输入电压是多少伏,
稳压管的最低启动电压是多少伏,
现在 MCU-VCC实际测试是多少伏,
稳压管是3.3V的,实际测试功耗太大,我把电阻增加到820欧姆,后电流降到3mA左右,
输入电压是5V MCUVCC实际测试3V左右。
当我把R10拿掉的时候,实际测试板子只有3MA,加上R10在7mA
所以我的理解是,PCON = 0X02 的效果与R10断开效果一样的,但实际测试,电流就是降不下来 1,请问实际输入电压是多少伏 ?
===你没答复
2,稳压管是啥具体规格,实际测试的最低启动电压是多少伏 ?
===你没答复
3,现在 MCU的VCC实际测试电压是多少伏 ?
===你没答复
4,我怀疑稳压管已启动工作 ?
===正常工作和省电模式,稳压管不能启动,启动就有功耗
===你没答复
如软件对了,那 R10/D2组合有功耗 ,你先回答上面的问题
神农鼎 发表于 2023-10-31 19:03
1,请问实际输入电压是多少伏 ?
===你没答复
1:实际输入电:5V
2:稳压管启动电压3.3V,规格BZT52C3V3S
3:MCU VCC实际测试电压 3V
4:没有启动,因为3.3V的稳压管,MCU VCC是3V
神农鼎 发表于 2023-10-31 19:03
1,请问实际输入电压是多少伏 ?
===你没答复
版主好,我把稳压管去掉,休眠模式,功耗降下来了,请问这是怎么回事
稳压管启动了,电压牵制在3V
我拿掉后单片机VCC脚 达到了4.8V
请问这是怎么回事,我后面I2C电压电平是1.8V
请问我单片机电源该怎么设计呢,有没有推荐,加一个2.5V稳压芯片可以吗
页:
[1]
2