说到51单片机的IO引脚,许多人就会联想到上拉电阻。在单片机的相关问题中,许多问题相同与上拉电阻的休戚相关,在本文中,小编将为我们介绍51单片机中IO引脚与上拉电阻与拉电流负载对电路形成的不良影响。
在单片机输出低电平时,将答应外部器材,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”。单片机输出高电平时,则答应外部器材,从单片机的引脚,拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”。
那么这些电流一般是多少?最大极限是多少?
前期的51系列单片机的带负载才能,是很小的,仅仅用“能带动多少个TTL输入端”来阐明的。P1、P2和P3口,每个引脚能够都带动3个TTL输入端,只要P0口的才能强,它能够带动8个。剖析一下TTL的输入特性就能够发现,51单片机基本上就没有什么驱动才能。它的引脚乃至不能带动其时的LED进行正常发光。
图1
图1中的D1、D2就能够不经其它驱动器材,直接由单片机的引脚操控发光显现。尽管引脚现已能够直接驱动LED发光,但仍是看看AT89C51单片机引脚的输出才能吧。
从AT89C51单片机的%&&&&&%手册文件中能够看到,稳态输出时,“灌电流”的上限为:
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驱动才能上,仍是选用灌电流的形式比较合理,而拉电流负载和上拉电阻会形成电路中发生无效的电流。本文经过多方面的剖析与证明协助我们对理清上拉电阻在单片机电路中某些使用的坏处。