PIC16F877A休眠电流

[复制链接]
3671|13
 楼主| kelanvee 发表于 2010-6-25 16:48 | 显示全部楼层 |阅读模式
MCU是PIC16F877A,电源:输入DC9V,然后经过LM1117-5.0稳压后输出5V给MCU供电,测试休眠电流的时候把电流表串联在LM1117和MCU中间,电流没有其他外设,很简单的程序烧进去的时候,测试的电流时14mA左右,当加入SLEEP()后,电流还是在14mA左右,两个电流感觉都不正常,而且我外设的我都设置为输出,高,低电平都试过,AD也关闭了,但是电流还是降不下来?请教高手,帮我解答?
cheungman 发表于 2010-6-25 17:03 | 显示全部楼层
试试把BOR关掉
 楼主| kelanvee 发表于 2010-6-25 17:12 | 显示全部楼层
2# cheungman
已经关了,该关的都关了
IJK 发表于 2010-6-25 17:17 | 显示全部楼层
或许芯片有问题,或许板子有问题。

换个板子、换个芯片 再试试。
德茵电气 发表于 2010-6-25 20:12 | 显示全部楼层
顶楼上
headwolf_83 发表于 2010-6-26 11:15 | 显示全部楼层
我测试过688的,同时测试过676的,你这个数据肯定哪里有问题。休眠后如果没什么器件,都是uA级的。
 楼主| kelanvee 发表于 2010-6-26 12:43 | 显示全部楼层
4# IJK
问题就出在板子换了一块了,还是不行
电路就只有晶振,复位电路,稳压电路。没了。程序如下:
#include <pic.h>
__CONFIG(WDTEN&XT&UNPROTECT&BORDIS);

/*系统初始化子程序*/
void initial()
{
TRISA=0x00;   /*A口设置为输出*/
TRISB=0X00;   /*RB1输出,RB4输入*/
TRISD=0X00;   /*D口为输出*/  
    TRISE=0X00;   /*D口为输出*/  
    TMR1ON=0;
    TMR2ON=0;
    SSPEN=0;
    ADON=0;
}

/*主程序*/
main ()
{
initial();    /*初始化*/
//PORTD=0X00;   /*高4个LED灯亮*/
SLEEP();    /*单片机开始进入休眠状态*/
PORTD=0XFF;   /*激活后,低4个LED灯亮*/
while(1)
{
  ;
}
}
XIEYUANBIN 发表于 2010-6-26 16:41 | 显示全部楼层
应该是你作为输入口的IO没有接到固定的高或者低电平
XIEYUANBIN 发表于 2010-6-26 16:41 | 显示全部楼层
你试试将所有IO口设置成输出然后置低
 楼主| kelanvee 发表于 2010-6-26 17:10 | 显示全部楼层
9# XIEYUANBIN
还是没变化,而且我测RD口的电压,会时高时低。(程序我在7楼有贴出)
能加我QQ吗?QQ:1402404896
headwolf_83 发表于 2010-6-26 17:32 | 显示全部楼层
不用的口,输出0,或者作为输入,拉到高或者低,你的程序,输出口没完全输出0。肯定不行的。
 楼主| kelanvee 发表于 2010-6-26 20:14 | 显示全部楼层
11# headwolf_83
后面我把A,B,C,D,E四个IO口全部设置为输出,且都拉低,但是还是不行?
XIEYUANBIN 发表于 2010-6-26 20:48 | 显示全部楼层
本帖最后由 XIEYUANBIN 于 2010-6-27 08:55 编辑

显然,你该关的都没关,WDT都开的,一直在唤醒
__CONFIG(WDTEN&XT&UNPROTECT&BORDIS);
lou0908 发表于 2010-7-12 23:07 | 显示全部楼层
潜水学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部