新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 怎么解决引脚单片机的上拉电阻问题?

怎么解决引脚单片机的上拉电阻问题?

作者:时间:2014-01-16来源:网络收藏

单片机的引脚,可以用程序来控制,输出高、低电平,这些可算是单片机的输出电压。但是,程序控制不了单片机的输出电流。单片机的输出电流,很大程度上是取决于引脚上的外接器件。

本文引用地址:http://www.eepw.com.cn/article/226914.htm

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

这些电流一般是多少?最大限度是多少?这就是常见的单片机输出驱动能力的问题。

早期的 51 系列单片机的带负载能力,是很小的,仅仅用“能带动多少个 TTL 输入端”来说明的。P1、P2 和 P3口,每个引脚可以都带动 3 个 TTL 输入端,只有 P0 口的能力强,它可以带动 8 个!

分析一下 TTL 的输入特性,就可以发现,51单片机基本上就没有什么驱动能力。它的引脚,甚至不能带动当时的 LED 进行正常发光。记得是在 AT89C51 单片机流行起来之后,做而论道才发现:单片机引脚的能力大为增强,可以直接带动 LED 发光了。

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

Maximum IOL per port pin: 10 mA;

Maximum IOL per 8-bit port

ort 0: 26 mA,Ports 1, 2, 3: 15 mA;

Maximum total I for all output pins: 71 mA.

这里是说:

每个单个的引脚,输出低电平的时候,允许外部电路,向引脚灌入的最大电流为 10 mA;每个 8 位的接口(P1、P2 以及 P3),允许向引脚灌入的总电流最大为 15 mA,而 P0 的能力强一些,允许向引脚灌入的最大总电流为 26 mA;全部的四个接口所允许的灌电流之和,最大为 71 mA。

而当这些引脚“输出高电平”的时候,单片机的“拉电流”能力呢?可以说是太差了,竟然不到 1 mA。

结论就是:单片机输出低电平的时候,驱动能力尚可,而输出高电平的时候,就没有输出电流的能力。这个结论是依照手册中给出的数据做出来的。

51 单片机的这些特性,是源于引脚的内部结构,引脚内部结构图这里就不画了,很多书中都有。

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

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

下面做而论道就专门说说上拉电阻存在的问题。

从上面提到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 的电流,都流入到单片机中!这个数值已经超过了单片机手册上给出的上限。如果此时单片机工作不稳定,就是理所当然的了。

而且这些电流,都是在负载处于无效的状态下出现的,它们都是完全没有用处的电流,只是产生发热、耗电大、电池消耗快,等后果。

特别是现在,都在提倡节能减排,低碳。

单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理


电子负载相关文章:电子负载原理
上拉电阻相关文章:上拉电阻原理

上一页 1 2 下一页

关键词: 引脚单片机 上拉电阻

评论


相关推荐

技术专区

关闭