PIC单片机的I/O口输出电流问题???
请教各位高手PIC的单片机I/O口设置,当引脚悬空时,设置I/O口为输出电流大还是为输入电流大??还有输出高电平电流大还是输出低电平时电流大??总之怎样设置才可以让其正常...
请教各位高手PIC的单片机I/O口设置,当引脚悬空时,设置I/O口为输出电流大还是为输入电流大??还有输出高电平电流大还是输出低电平时电流大??总之怎样设置才可以让其正常工作时消耗的电流最小? 谢谢了!!
真的很感谢各位帮忙,其实小弟做的是一个CANBUS项目,用的也是MCP2515和MCP2551,主要是这2515的工作电流太大了,10MA左右,但期间要保持持续通信所以不能进入睡眠,只能想其它办法让系统耗电最小了! 展开
真的很感谢各位帮忙,其实小弟做的是一个CANBUS项目,用的也是MCP2515和MCP2551,主要是这2515的工作电流太大了,10MA左右,但期间要保持持续通信所以不能进入睡眠,只能想其它办法让系统耗电最小了! 展开
5个回答
艾普斯
2024-07-18 广告
2024-07-18 广告
稳频稳压电源哪家好?艾普斯电源(苏州)有限公司开始专业研发、制造及营销交流稳压电源,满足全球电子及信息业对电源设备日益蓬勃的市场需求。迄今为止,业已发展成为交流不间断电源、稳压电源、变频电源、中频航空- 军事专用电源、直流电源、逆变电源等产...
点击进入详情页
本回答由艾普斯提供
展开全部
看来这是个比较有争议的话题哟,
上面两位都说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,当设置为普通输入时这个电路就要干活了,而且是每个端口有一个,就等着消耗电流吧。
上面两位都说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,当设置为普通输入时这个电路就要干活了,而且是每个端口有一个,就等着消耗电流吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用的IO口设置为输入。
带AD的,却用不到AD功能的要关闭AD。
BOD掉电复位是个耗电大户,如果不用,也关闭。
如果你用的PIC芯片带内部振荡器,而你的单片机不需要处理类似于总线通讯、捕捉、PWM之类对时序要求高的功能的话,可以尽量使用内部振荡器,或者用较低频率的外部振荡器,比如500KHz甚至更低。
如果不是用在比较复杂的、安全系数高的工控领域,建议关闭看门狗,这个也是耗电猜册大户。
反正你看Configure里,如果用不到的尽量关闭。
如果可以,尽量用汇穗世宏编写程序,用人脑来最大限度优化程序的运行。(虽然写汇编很烦人,但肯定比C编译后的执行效率高。)
这样可以尽可能降低芯片的功耗。
补充:我现在也是用PIC+2551开发CAN,没办法的,2515功耗是大,2551也是。PIC的纳瓦MCU比它们小返段多了,基本上把不用的都关闭,也就几mA。
推荐如果可以的话用PIC18F4580之类的芯片,内带一个CAN协议控制器,直接出来就接个2551或者TJA1050。省个2515.
带AD的,却用不到AD功能的要关闭AD。
BOD掉电复位是个耗电大户,如果不用,也关闭。
如果你用的PIC芯片带内部振荡器,而你的单片机不需要处理类似于总线通讯、捕捉、PWM之类对时序要求高的功能的话,可以尽量使用内部振荡器,或者用较低频率的外部振荡器,比如500KHz甚至更低。
如果不是用在比较复杂的、安全系数高的工控领域,建议关闭看门狗,这个也是耗电猜册大户。
反正你看Configure里,如果用不到的尽量关闭。
如果可以,尽量用汇穗世宏编写程序,用人脑来最大限度优化程序的运行。(虽然写汇编很烦人,但肯定比C编译后的执行效率高。)
这样可以尽可能降低芯片的功耗。
补充:我现在也是用PIC+2551开发CAN,没办法的,2515功耗是大,2551也是。PIC的纳瓦MCU比它们小返段多了,基本上把不用的都关闭,也就几mA。
推荐如果可以的话用PIC18F4580之类的芯片,内带一个CAN协议控制器,直接出来就接个2551或者TJA1050。省个2515.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有模拟功能的引脚设置为模拟输入,普通引脚设为输出 低或者高都可以
呵呵,没想到这么多兄弟对低功耗设计感兴趣啊?
可是flyunlimit兄贴的data sheet 端口图上AD明明是直接通到内部的何来需要专门的开关转换啊,
又可是了,据我所知PIC的片子将端口设为输入时模拟端口才是默认打开的,
让人家好好看data sheet,好讽刺啊,呵呵。
电平的判断直接来自CMOS电路的自身特性,
这个视乎说的也有点.....任何芯片都纯搜镇会设计有提高稳定性的施密特特性,甚至包括高速运放和电压比较器这种对电压极度敏感的芯片。
说 ‘做粗电平的判断直接来自CMOS电路的自身特性’是从芯片的外部展现的特性来看的吧,内部真没那么简单,老兄。
ASM白痴
AD转换的开关应该是ADON吧???ADGO是转换开始哦,ADON才是AD模块的开关,仔细看看吧。
micropower貌似一个漏哪PIC高手哦,关注你很久啦,有空向你讨教讨教,呵呵,
这个问题 micropower说的很全面,我就不多说了,
PIC16我就不去了,微芯的FAE和张明峰老师已经说的很清楚了,我还是相信张明峰老师。你们再去争论吧。
呵呵,没想到这么多兄弟对低功耗设计感兴趣啊?
可是flyunlimit兄贴的data sheet 端口图上AD明明是直接通到内部的何来需要专门的开关转换啊,
又可是了,据我所知PIC的片子将端口设为输入时模拟端口才是默认打开的,
让人家好好看data sheet,好讽刺啊,呵呵。
电平的判断直接来自CMOS电路的自身特性,
这个视乎说的也有点.....任何芯片都纯搜镇会设计有提高稳定性的施密特特性,甚至包括高速运放和电压比较器这种对电压极度敏感的芯片。
说 ‘做粗电平的判断直接来自CMOS电路的自身特性’是从芯片的外部展现的特性来看的吧,内部真没那么简单,老兄。
ASM白痴
AD转换的开关应该是ADON吧???ADGO是转换开始哦,ADON才是AD模块的开关,仔细看看吧。
micropower貌似一个漏哪PIC高手哦,关注你很久啦,有空向你讨教讨教,呵呵,
这个问题 micropower说的很全面,我就不多说了,
PIC16我就不去了,微芯的FAE和张明峰老师已经说的很清楚了,我还是相信张明峰老师。你们再去争论吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置成输入吧,不要的引脚最好别悬空,接地
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询