打印

低功耗问题

[复制链接]
2101|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fq1110|  楼主 | 2010-10-29 19:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void InitClock()
{
OSCCON=0x7a; //内部振荡器16M,
DelayUS(2);
while(HFIOFR==0)
  ;
}
void InitTimer0()
{
OPTION_REG=0x04; //分频 1:32
TMR0=0x83;
}
void InitTimer1()
{
T1CON=0x31;   //分频 1:8
PIE1|=0x01;
TMR1H=0xf6;
TMR1L=0x3b;
}
void InitGPIO()
{
TRISA=0xf8;
ANSELA=0x00;
TRISB=0x05;
ANSELB=0x0;
WPUB=0x00;
IOCBP=0x05;
IOCBN=0x05;
TRISC=0x01;
TRISD=0x20;
ANSELD=0x00;
TRISE=0x06;
ANSELE=0x00;
}
void InitUSart()
{
TRISC6=1; //txd pin
TRISC7=1; //rxd pin
SPBRG=0x67; //16000000/(16*(SPBRG+1))=9600
TXSTA=0x24;                    
RCSTA=0x90;
BAUDCON=0x00;
PIE1|=0x30; //open usart interrupt
}
void InitAD()
{
TRISA0=1;
ANSELA|=0x01;
ADCON0=0x81;
ADCON1=0xe0; //Fosc/64  16M转换时间4us
ADIF=0;
DelayUS(30);
ADCON0|=0x02;
}
void EnableInt()
{
INTCON=0xd0; //GIE,PEIE,TMR0IE,RB0/INT,IOCIE
}
void InitSystem()
{
InitGPIO();
InitClock();
InitTimer0();
InitTimer1();
InitUSart();
EnableInt();
}

if(RB2==0&&RD1==0)
{
   TMR1ON=0;
  PIE1&=0xcf;
  PIE1&=0xfe;
  RCSTA&=0x7f;
  CREN=0;
  TXEN=0;
  TXIE=0;
  RCIE=0;
  ADCON0&=0xfe;
  TRISA=0xff;
  TRISB=0xfa;
  TRISC=0xfc;
  TRISD=0xff;
  TRISE=0xff;
  ANSELA=0xff;
  ANSELB=0xfe;
  ANSELD=0xff;
  ANSELE=0xff;
  OSCCON=0x02;
  while(LFIOFR==0)
   ;
  SLEEP();
  NOP();
  NOP();
  RESET();
}

进入休眠模式后,还有18mA电流,工作时23mA电流,上面代码有什么问题吗?请大家百忙之中帮我看看。谢谢!
沙发
兰天白云| | 2010-10-29 21:18 | 只看该作者
如此大的电流,最大可能是某些IO口处于对外输出状态
如某个IO口为输出状态,且为高电平,而且负载是200Ω    则IO电流=5/200=25mA

使用特权

评论回复
板凳
NE5532| | 2010-10-29 21:26 | 只看该作者
量口线状态,输出状态的端口,带了负载,不管输出高还是输出低都可能耗电。还有模拟器件也是耗电大户,比如片内的AD和比较器。

使用特权

评论回复
地板
fq1110|  楼主 | 2010-10-30 13:30 | 只看该作者
现在不是IO口最后都设置成了输入状态吗,还会不会出现你们说的这种现象?

使用特权

评论回复
5
fq1110|  楼主 | 2010-10-30 13:31 | 只看该作者
AD已关闭,串口也已经关闭。

使用特权

评论回复
6
XIEYUANBIN| | 2010-10-30 19:55 | 只看该作者
看你把IO口都设置成输入,那你有没有把这些IO口接上拉或下拉?如果IO口悬空,感应电压会造成内部数据输入口频繁翻转,电流会大大增加。

使用特权

评论回复
7
fq1110|  楼主 | 2010-11-1 09:47 | 只看该作者
串口输入口,AD采样口,这些接上拉或下拉,会不会影响功能啊?

使用特权

评论回复
8
兰天白云| | 2010-11-1 14:54 | 只看该作者
只要电阻购大就没问题

使用特权

评论回复
9
fq1110|  楼主 | 2010-11-2 11:13 | 只看该作者
已经解决了,原因是外围有个ttl转232芯片在耗电。

使用特权

评论回复
10
Mary_luo| | 2010-11-3 11:58 | 只看该作者
选择MICROCHIP主推的XLP系列单片机

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

530

帖子

1

粉丝