0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

IO引脚中采用上拉电阻搭配拉电流负载有什么错

GReq_mcu168 来源:蔡戈 2018-12-07 16:16 次阅读

提到51单片机的IO引脚,很多人就会联想到上拉电阻。在单片机的相关问题中,很多问题同样与上拉电阻的息息相关,在本文中,小编将为大家介绍51单片机中IO引脚与上拉电阻与拉电流负载对电路造成的不良影响。

在单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流称为“灌电流”,外部电路称为“灌电流负载”。单片机输出高电平时,则允许外部器件从单片机的引脚拉出电流,这个电流称为“拉电流”,外部电路称为“拉电流负载”。

那么这些电流一般是多少?最大限度是多少?

早期的51系列单片机的带负载能力,是很小的,仅仅用“能带动多少个TTL输入端”来说明的。P1、P2和P3口,每个引脚可以都带动3个TTL输入端,只有P0口的能力强,它可以带动8个。分析一下TTL的输入特性就可以发现,51单片机基本上就没有什么驱动能力。它的引脚甚至不能带动当时的LED进行 正常发光。

图1

图1中的D1、D2就可以不经其它驱动器件,直接由单片机的引脚控制发光显示。虽然引脚已经可以直接驱动LED发光,但还是看看AT89C51单片机引脚的输出能力吧。

从AT89C51单片机的PDF手册文件中可以看到,稳态输出时,“灌电流”的上限为:

MaximumIOLperportpin:10mA;

MaximumIOLper8-bitport:Port0:26mA,Ports1、2、3:15mA;

MaximumtotalIforalloutputpins:71mA.

这里也就是说每个单个的引脚,输出低电平的时候,允许外部电路,向引脚灌入的最大电流为10mA。每个8位的接口(P1、P2以及P3),允许向引脚灌入的总电流最大为15mA,而P0的能力强一些,允许向引脚灌入的最大总电流为26mA。

全部的四个接口所允许的灌电流之和,最大为71mA。而当这些引脚“输出高电平”的时候,单片机的“拉电流”能力呢?结果竟然不到1mA。

结论就是:单片机输出低电平的时候,驱动能力尚可,而输出高电平的时候,就没有输出电流的能力。

由于芯片的内部引脚和地之间三极管的存在,所以引脚具有下拉的能力,输出低电平的时候,允许灌入10mA的电流。而引脚和正电源之间,有个几百K的“内部上拉电阻”,所以引脚在高电平的时候,能够输出的拉电流很小。特别是P0口,其内部根本就没有上拉电阻,所以P0口根本就没有高电平输出电流的能力。

图1中的D1,是接在正电源和引脚之间的,这就属于灌电流负载,D1在单片机输出低电平的时候发光。这个发光的电流,可以用电阻控制在10mA之内。D2是接在引脚和地之间的,这属于拉电流负载,D2应该在单片机输出高电平的时候发光。但是单片机此时几乎没有输出能力,必须采用外接“上拉电阻”的方法来提供D2所需的电流。

外接电路如果是“拉电流负载”,要求单片机输出高电平时发挥作用,那就必须用“上拉电阻”来协助,产生负载所需的电流。

上拉电阻存在的问题

图1中可以看到,D2发光是由上拉电阻R2提供的电流,D2导通发光的电压约为2V,那么发光的电流就是(5-2)/1K,约为3mA。

而当单片机输出低电平(0V),D2不发光的时候,R2上拉电阻两端的电压,比LED发光的时候还高,达到了5V,其中的电流是5mA。LED不发光的时候,上拉电阻给出了更大的电流。并且,这个大于正常发光的电流,全部灌入单片机的引脚。

如果在一个8位的接口,安装了8个1K的上拉电阻,当单片机都输出低电平的时候,就有40mA的电流灌入这个8位的接口。如果四个8位接口,都加上1K的上拉电阻,最大有可能出现32×5=160mA的电流,都流入到单片机中。这个数值已经超过了单片机手册上给出的上限。如果此时单片机工作不稳定,就是理所当然的了。

从以上的文章中可以看到,在单片机IO驱动能力上,还是采用灌电流的模式比较合理,而拉电流负载和上拉电阻会造成电路中产生无效的电流。本文通过多方面的分析与论证帮助大家对理清上拉电阻在单片机电路中某些应用的弊端。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 上拉电阻
    +关注

    关注

    5

    文章

    345

    浏览量

    30259
  • 引脚
    +关注

    关注

    16

    文章

    1045

    浏览量

    48968

原文标题:IO引脚中采用上拉电阻搭配拉电流负载错在哪?

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么IO用上电阻,没有用下拉电阻的呢?

    IO大家都不约而同的用上电阻,为何没有用下拉电阻的呢?
    发表于 01-18 08:20

    51单片机的IO口驱动能力、灌电流电流、上电阻的选择

    产生额外的耗电。 图2,是电流负载。单片机输出低电平的时候,LED不亮,此时VCC通过R2把电流全部灌进单片机
    发表于 11-18 16:23

    电阻的计算

    。2、OC门电路必须加上电阻,才能使用。3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上电阻
    发表于 05-12 08:24

    关于51单片机IO引脚的驱动能力与上电阻

    控制在 10 mA 之内。 图中的 D2,是接在引脚和地之间的,这属于电流负载,D2 应该在单片机输出高电平的时候发光。但是单片机此时几乎没有输出能力,必须
    发表于 06-26 16:52

    为什么要用上和下拉电阻

    、OC门电路必须加上电阻,才能使用。3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上电阻
    发表于 09-27 09:20

    电阻

    为3.5V),这时就需要在TTL的输出端接上电阻,以提高输出高电平的值。2、 OC门电路必须加上电阻,才能使用。3、 为加大输出引脚的驱
    发表于 08-28 09:27

    电阻

    (一般为3.5V),这时就需要在TTL的输出端接上电阻,以提高输出高电平的值。2、 OC门电路必须加上电阻,才能使用。3、 为加大输出引脚
    发表于 11-16 17:14

    拉起引脚:如何调整上电阻的大小

    产生大量的热量,如果设备是电池供电的,它会快速耗尽电池。除了阻止与浮动微控制器I / O引脚相关的问题外,在使用开漏拓扑时,需要使用上电阻。我们在这篇Bench Talk帖子
    发表于 11-09 09:14

    哪些地方会使用上电阻

    电阻,以提高输出的高电平值。  3、为增强输出引脚的驱动能力,有的单片机管脚上也常使用上电阻。  4、在CMOS芯片上,为了防止静电造成损
    发表于 07-02 04:20

    如何选择IO引脚上的上或下拉电阻

    大家好,我使用的是DSPIC33 FJ256MC710A DSP。我无法理解如何选择IO引脚上的上或下拉电阻。我查阅了数据表,它指出:可选择的开放漏极、上
    发表于 08-07 14:05

    嵌入式外围电路之上电阻和下拉电阻

    ST数据手册):由上表可知,STM32的IO引脚的驱动能力为25mA,负号“-”表示电流的方向,灌与电流方向是相反的(表
    发表于 08-19 09:00

    电阻作用,上电阻应用和选择原则

    默认值为高电平,你要控制它必须用低电平才能控制如三态门电路三极管的集电极,或二极管正极去控制把上电阻电流拉下来成为低电平。反之,  C、尤其用在接口电路,为了得到确定的电平,一般
    发表于 12-14 17:21

    按键上电阻

    电流。51单片机接按键时使用上电阻有什么用?P3口需要接上电阻,4.7K- 10K 的上
    发表于 08-12 13:35

    电阻和下拉电阻的作用

    TTL电路驱动CMOS电路时,如果电路输出的高电平低于CMOS电路的最低高电平(一般为 3.5V), 这时就需要在TTL的输出端接上电阻,以提高输出高电平的值。2.OC门电路必须使用上
    发表于 01-25 07:23

    为什么IO口接LED有的采用上接电源有的是下拉接地?

    为什么IO口接LED有的采用上接电源,有的是下拉接地?有什么讲究吗,还是随意为之?
    发表于 11-07 06:07