打印

PIC16F877A休眠电流

[复制链接]
2892|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 | 只看该作者
或许芯片有问题,或许板子有问题。

换个板子、换个芯片 再试试。

使用特权

评论回复
5
德茵电气| | 2010-6-25 20:12 | 只看该作者
顶楼上

使用特权

评论回复
6
headwolf_83| | 2010-6-26 11:15 | 只看该作者
我测试过688的,同时测试过676的,你这个数据肯定哪里有问题。休眠后如果没什么器件,都是uA级的。

使用特权

评论回复
7
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)
{
  ;
}
}

使用特权

评论回复
8
XIEYUANBIN| | 2010-6-26 16:41 | 只看该作者
应该是你作为输入口的IO没有接到固定的高或者低电平

使用特权

评论回复
9
XIEYUANBIN| | 2010-6-26 16:41 | 只看该作者
你试试将所有IO口设置成输出然后置低

使用特权

评论回复
10
kelanvee|  楼主 | 2010-6-26 17:10 | 只看该作者
9# XIEYUANBIN
还是没变化,而且我测RD口的电压,会时高时低。(程序我在7楼有贴出)
能加我QQ吗?QQ:1402404896

使用特权

评论回复
11
headwolf_83| | 2010-6-26 17:32 | 只看该作者
不用的口,输出0,或者作为输入,拉到高或者低,你的程序,输出口没完全输出0。肯定不行的。

使用特权

评论回复
12
kelanvee|  楼主 | 2010-6-26 20:14 | 只看该作者
11# headwolf_83
后面我把A,B,C,D,E四个IO口全部设置为输出,且都拉低,但是还是不行?

使用特权

评论回复
13
XIEYUANBIN| | 2010-6-26 20:48 | 只看该作者
本帖最后由 XIEYUANBIN 于 2010-6-27 08:55 编辑

显然,你该关的都没关,WDT都开的,一直在唤醒
__CONFIG(WDTEN&XT&UNPROTECT&BORDIS);

使用特权

评论回复
14
lou0908| | 2010-7-12 23:07 | 只看该作者
潜水学习

使用特权

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

本版积分规则

0

主题

5

帖子

1

粉丝