12f629 功耗问题,搞来搞去降不下去.

haiming231   2012-2-6 15:01 楼主

程序很简单 就是让GP2 输入输出不停变化。
我用了32K 晶振 3V 电压时 电流为120Ua 太高了,看手册上写大约18的Ua   ,搞来搞去实在不知道哪出问题了。那个模拟比较器按手册写的关闭 CMCON=0X07;
后电流马上上升了700ua  .

程序如下.

 

#include <pic.h>;
__CONFIG (0x0191); 
void delay(unsigned int ms )
{
unsigned int i,j;
for (i=0;i<ms;i++)
{
for (j=0;j<50;j++); //52=0.1S
}
}
void init()
{
VRCON=0X00;
PCON=0X00;
OPTION=0X7F;
STATUS=0X00;
TRISIO= 0XFB; 
GPIO=0X00;
}
void main ()  
  {  
init();
  while(1)
{
GPIO2    =  1;
delay(15);
GPIO2    = 0;
delay(15);
}
}

 

哪位大侠给指点下,俺表示非常感谢加重谢....

回复评论 (3)

悬赏200元人民币,QQ 309158705。谁帮俺解决下,给充200块手机费,或现金打卡也可以。。。
点赞  2012-2-7 19:56
硬件电路贴出来一起分析下

才发现,居然挖出个坟...

[ 本帖最后由 DoEarlyFuc 于 2013-3-29 01:40 编辑 ]
点赞  2013-3-29 01:37
解决方法。
1.所有不用的IO配置为输出(驱动为高或低)或配置为输入并连接1K电阻到VCC。这样做是为了避免输入浮空时噪声翻转输入带来额外功率消耗。
2.使用定时器1做唤醒源,延时指令用休眠代替。
点赞  2013-4-17 14:58
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复