打印

pic低功耗请教

[复制链接]
楼主: fxhfxh
手机看帖
扫描二维码
随时随地手机跟帖
21
ocon| | 2012-11-21 13:49 | 只看该作者 回帖奖励 |倒序浏览
楼主啊,“内部上拉”并非不需要消耗电流的神器,但可以通过软件算法降低电流,方法前面有人说了。另外,你把静态电流理解成软关机电流了,而且不知道电池的续航时间等于容量除以电流。

使用特权

评论回复
22
NE5532| | 2012-11-21 15:09 | 只看该作者
16楼的方法也有问题,开模拟输入,将极大地增大静态电流。

使用特权

评论回复
23
Light_David| | 2012-11-21 15:27 | 只看该作者
22# NE5532 NE兄,这你就错了。设为模拟输入,又不是开AD模块。看看微芯的资料吧,,对于PIC的芯片,在实际操作上,只要控制ansel寄存器就好了,(设为模拟,自动禁止上拉)非常方便。

使用特权

评论回复
24
NE5532| | 2012-11-21 19:21 | 只看该作者
那我就要测一下了,如果功耗真的不增加,有缓变信号的时候这样处理就比较好。

使用特权

评论回复
25
fxhfxh|  楼主 | 2012-11-21 20:14 | 只看该作者
不是,是我理解你在说,用单刀单掷开关,在开关断路状态,端口一样可以检测到高电平,可能是我理解错了。
NE5532 发表于 2012-11-20 22:44

我只能说,目前实际使用的就是第2个图,1脚接按键,3脚接开关,二个脚外部都没有接上拉电阻,但使能了内部弱上拉,能正确的检测到电平的高低变化。主要就是在3脚接地时有0.1mA的电流,3脚不接地时,电流基本没有(50uA档基本不动)。还望大侠继续指导。

使用特权

评论回复
26
fxhfxh|  楼主 | 2012-11-21 20:16 | 只看该作者
间歇上拉吧,100MS拉10US
谈的元 发表于 2012-11-20 23:32

谢谢。有时间我试一试。可惜322只有512字节,好像有点不够。

使用特权

评论回复
27
NE5532| | 2012-11-21 20:17 | 只看该作者
我只能说,目前实际使用的就是第2个图,1脚接按键,3脚接开关,二个脚外部都没有接上拉电阻,但使能了内部弱上拉,能正确的检测到电平的高低变化。主要就是在3脚接地时有0.1mA的电流,3脚不接地时,电流基本没有(5 ...
fxhfxh 发表于 2012-11-21 20:14


已经给你说了,开关闭合时候,内部上拉的电流表现出来了。

使用特权

评论回复
28
fxhfxh|  楼主 | 2012-11-21 20:17 | 只看该作者
简单地说,保证只在检测瞬间打开上拉电阻就可以了
fp123123 发表于 2012-11-20 23:39

谢谢。有时间我也试一试,就是322,容量太小,我担心不够。

使用特权

评论回复
29
fxhfxh|  楼主 | 2012-11-21 20:28 | 只看该作者
从根本上解决问题。你的开关常态是什么?是接地还是悬空(相当于接高)。如果是常态接地,那你更改你的软件,变成高有效,这样就变成常态悬空(相当于接高)。

有上拉电阻、接地就会有电流,这是再低功耗的芯片都有 ...
Tinnal 发表于 2012-11-21 08:25

谢谢回复。两个状态根据不同的情况都要使用,因此不存在常态的问题,所以才用了开关。想把第6脚用起来,避免3脚接地,可能就完美了,可惜现在板子做好了。

使用特权

评论回复
30
NE5532| | 2012-11-21 20:34 | 只看该作者
谢谢回复。两个状态根据不同的情况都要使用,因此不存在常态的问题,所以才用了开关。想把第6脚用起来,避免3脚接地,可能就完美了,可惜现在板子做好了。 ...
fxhfxh 发表于 2012-11-21 20:28


那你早说电路板不能改呀。如果那个按钮开关是触发,你可以修改软件为:

平时拨动开关端口为输出0状态;当检测到按钮开关按下时,打开拨动开关输入端口的上拉电阻,读入电平,判断拨动开关状态。

使用特权

评论回复
31
fxhfxh|  楼主 | 2012-11-21 20:53 | 只看该作者
那你早说电路板不能改呀。如果那个按钮开关是触发,你可以修改软件为:

平时拨动开关端口为输出0状态;当检测到按钮开关按下时,打开拨动开关输入端口的上拉电阻,读入电平,判断拨动开关状态。 ...
NE5532 发表于 2012-11-21 20:34

     问题功能要求是:先判断开关是断开还是闭合的?(根据情况有可能断开,也可能闭合)
     若是断开的:就接受按键的动作情况:若是按键长按则发1种编码信号;若是短按则发第2种编码信号。
     若是闭合的:则间断的发第3种编码信号。

使用特权

评论回复
32
NE5532| | 2012-11-21 21:00 | 只看该作者
你能不能把功能里面断开和闭合颠倒一下呢,发射横竖要耗电,也不在乎多这点上拉电阻的电流了。

使用特权

评论回复
33
fxhfxh|  楼主 | 2012-11-21 21:09 | 只看该作者
一样的,断开和闭合都要发射信号。断开和闭合的时间哪个多哪个少,都是不确定的。如果能确切的知道哪个的时间长,那肯定要将时间长的放在高电平里处理哟。

使用特权

评论回复
34
NE5532| | 2012-11-21 21:19 | 只看该作者
一样的,断开和闭合都要发射信号。断开和闭合的时间哪个多哪个少,都是不确定的。如果能确切的知道哪个的时间长,那肯定要将时间长的放在高电平里处理哟。 ...
fxhfxh 发表于 2012-11-21 21:09


你再仔细读一下你写的需求呢。

有一种状态下是“按键按下”时候才检测按键,并且区分长按和短按。

我个人认为这个帖子的分你可以给我了。

使用特权

评论回复
35
NE5532| | 2012-11-21 21:24 | 只看该作者
就用你最开始的电路图给你写出伪代码:

if SW1 == High
    TX3();
else
    {
        scan_S1();
        if Time == Long
            TX1();
        else if Time == Short
            TX2();
    }

使用特权

评论回复
36
fxhfxh|  楼主 | 2012-11-21 21:36 | 只看该作者
你再仔细读一下你写的需求呢。

有一种状态下是“按键按下”时候才检测按键,并且区分长按和短按。

我个人认为这个帖子的分你可以给我了。 ...
NE5532 发表于 2012-11-21 21:19

可能是我表达能力有限。一个核心:状态1:开关接地将有0.1mA,令人有点不满意;状态2:断开基本不用电,令人满意。问题是2个状态缺一不可。
我想明白了,当然会给分。:handshake

使用特权

评论回复
37
NE5532| | 2012-11-21 21:40 | 只看该作者
可能是我表达能力有限。一个核心:状态1:开关接地将有0.1mA,令人有点不满意;状态2:断开基本不用电,令人满意。问题是2个状态缺一不可。
我想明白了,当然会给分。:handshake ...
fxhfxh 发表于 2012-11-21 21:36


问题就在这里啊,你的两个状态,其中有一个是不需要去判断S1,无条件发射序列3的状态,另一个是需要判断S1的状态。

既然发射需要消耗电流,那么我就把那个不需要判断S1的无条件发射状态合并到上拉电阻耗电的那个状态去就OK了三。

使用特权

评论回复
38
NE5532| | 2012-11-21 21:41 | 只看该作者
无线一工作,电流起码上mA,上拉电阻耗的那点电流根本可以不考虑,解决这个问题需要反一转来想,抓问题的本质。

使用特权

评论回复
39
fxhfxh|  楼主 | 2012-11-21 21:59 | 只看该作者
38# NE5532
可能是我的表达和理解能力有限,我真的是没有明白,抱歉,我再想一想。:handshake

使用特权

评论回复
40
NE5532| | 2012-11-21 22:08 | 只看该作者
好像我是看反了,你开关闭合的时候是间断发射编码3,既然都在无线发射了,你还在乎上拉电阻那点电流么??

使用特权

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

本版积分规则