PIC单片机的I/O口输出电流问题???

请教各位高手PIC的单片机I/O口设置,当引脚悬空时,设置I/O口为输出电流大还是为输入电流大??还有输出高电平电流大还是输出低电平时电流大??总之怎样设置才可以让其正常... 请教各位高手PIC的单片机I/O口设置,当引脚悬空时,设置I/O口为输出电流大还是为输入电流大??还有输出高电平电流大还是输出低电平时电流大??总之怎样设置才可以让其正常工作时消耗的电流最小? 谢谢了!!
真的很感谢各位帮忙,其实小弟做的是一个CANBUS项目,用的也是MCP2515和MCP2551,主要是这2515的工作电流太大了,10MA左右,但期间要保持持续通信所以不能进入睡眠,只能想其它办法让系统耗电最小了!
展开
 我来答
flyunlimit
2010-01-16 · TA获得超过1.2万个赞
知道大有可为答主
回答量:2996
采纳率:33%
帮助的人:2199万
展开全部

除非当面谈,不然网上就没有扯的清的时候。如果各位是搞研发的,都是实际用过的,更难说动。

所以,千言万语总结下来:

    我坚持我的观点不变。不用的IO口设置为输入。不能设为模拟输入。ASM白痴 的“整形电路”理论是胡说八道。

本人关于模拟通道的观点不变,有异议的自己去发贴求证。

既然dhlfan同意micropower观点则表示其之前的观点有误。我是对的。

端口电路结构我认为你依然没有看明白,清注意那个控制模拟输入模式的与门。

酒笙ywf
2010-01-14
知道答主
回答量:13
采纳率:0%
帮助的人:10.8万
展开全部
看来这是个比较有争议的话题哟,
上面两位都说DHLFAN说的不对,我倒是有点说法了,

将端口配置为模拟输入并不代表打开AD模块,ADGO没有置位嘛.
并且当端口为模拟输入时候内部就等于是悬空的,因为AD模块是通过一个多路开关选择和某个通道接通的,平时不被选中的通道基本等于悬空,选中的通道也基本算是接一个几十PF的保持电容,电流几乎为0。

在说说设置为普通输入和输出的问题,当设置为普通输入时,虽说此时为高阻抗,但是芯片内部的整形电路需要工作,(这个不要解释了吧?)此时你再将这个端口悬空的话,因为输入阻抗高的原因,在实际使用时内部的整形电路不断翻转,要消耗不少电流的哦,另外什么WDT BOD,不再问题范围就不说了,还有降低频率这些个地球人都知道!!
什么?你不知道内部的整形电路是啥东东?
好吧,我就说说,
大家都知道设置为普通输入(数字输入)的端口只能读到两个状态,0、1 。
但是当此端口的电压为0.5V时呢?大家都会说为0
为1V时呢?大家还是说为0.
为2.5V呢????大家会说为1了吧???
为什么2.5V会为1?为什么1V时不为1,
(当然事实上还有不同逻辑电平(特性)的输入端。什么施密特输入啊,TTL输入啊就不说了)
这个时候就是靠内部的整形电路来将这个端口的电压值转换为0或者1,当设置为普通输入时这个电路就要干活了,而且是每个端口有一个,就等着消耗电流吧。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
micropower
2010-01-17 · TA获得超过1万个赞
知道大有可为答主
回答量:2619
采纳率:50%
帮助的人:1537万
展开全部
不用的IO口设置为输入。
带AD的,却用不到AD功能的要关闭AD。
BOD掉电复位是个耗电大户,如果不用,也关闭。
如果你用的PIC芯片带内部振荡器,而你的单片机不需要处理类似于总线通讯、捕捉、PWM之类对时序要求高的功能的话,可以尽量使用内部振荡器,或者用较低频率的外部振荡器,比如500KHz甚至更低。
如果不是用在比较复杂的、安全系数高的工控领域,建议关闭看门狗,这个也是耗电大户。
反正你看Configure里,如果用不到的尽量关闭。
如果可以,尽量用汇编写程序,用人脑来最大限度优化程序的运行。(虽然写汇编很烦人,但肯定比C编译后的执行效率高。)
这样可以尽可能降低芯片的功耗。

补充:我现在也是用PIC+2551开发CAN,没办法的,2515功耗是大,2551也是。PIC的纳瓦MCU比它们小多了,基本上把不用的都关闭,也就几mA。
推荐如果可以的话用PIC18F4580之类的芯片,内带一个CAN协议控制器,直接出来就接个2551或者TJA1050。省个2515.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dhlfan
2010-01-16 · TA获得超过815个赞
知道小有建树答主
回答量:619
采纳率:0%
帮助的人:537万
展开全部
有模拟功能的引脚设置为模拟输入,普通引脚设为输出 低或者高都可以

呵呵,没想到这么多兄弟对低功耗设计感兴趣啊?
可是flyunlimit兄贴的data sheet 端口图上AD明明是直接通到内部的何来需要专门的开关转换啊,
又可是了,据我所知PIC的片子将端口设为输入时模拟端口才是默认打开的,
让人家好好看data sheet,好讽刺啊,呵呵。

电平的判断直接来自CMOS电路的自身特性,
这个视乎说的也有点.....任何芯片都会设计有提高稳定性的施密特特性,甚至包括高速运放和电压比较器这种对电压极度敏感的芯片。
说 ‘电平的判断直接来自CMOS电路的自身特性’是从芯片的外部展现的特性来看的吧,内部真没那么简单,老兄。
ASM白痴
AD转换的开关应该是ADON吧???ADGO是转换开始哦,ADON才是AD模块的开关,仔细看看吧。
micropower貌似一个PIC高手哦,关注你很久啦,有空向你讨教讨教,呵呵,
这个问题 micropower说的很全面,我就不多说了,

PIC16我就不去了,微芯的FAE和张明峰老师已经说的很清楚了,我还是相信张明峰老师。你们再去争论吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夫敌皮皮乌
2010-01-11 · TA获得超过148个赞
知道答主
回答量:323
采纳率:0%
帮助的人:114万
展开全部
设置成输入吧,不要的引脚最好别悬空,接地
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式