收藏 分享(赏)

关于51单片机IO引脚驱动能力.pdf

上传人:weiwoduzun 文档编号:3075447 上传时间:2018-10-02 格式:PDF 页数:19 大小:871.56KB
下载 相关 举报
关于51单片机IO引脚驱动能力.pdf_第1页
第1页 / 共19页
关于51单片机IO引脚驱动能力.pdf_第2页
第2页 / 共19页
关于51单片机IO引脚驱动能力.pdf_第3页
第3页 / 共19页
关于51单片机IO引脚驱动能力.pdf_第4页
第4页 / 共19页
关于51单片机IO引脚驱动能力.pdf_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、单片机的引脚 ,可以用程序来控制 ,输出高 、低电平 ,这些可算是单片机的输出电压 。但是 ,程序控制不了单片机的输出电流 。 单片机的输出电流 ,很大程度上是取决于引脚上的外接器件 。单片机输出低电平时 ,将允许外部器件 ,向单片机引脚内灌入电流 ,这个电流,称为 “灌电流 ”,外部电路称为 “灌电流负载 ”;单片机输出高电平时 ,则允许外部器件 ,从单片机的引脚 ,拉出电流 ,这个电流 ,称为 “拉电流 ”,外部电路称为 “拉电流负载 ”。这些电流一般是多少 ?最大限度是多少 ? 这就是常见的单片机输出驱动能力的问题 。早期的 51 系列单片机的带负载能力 ,是很小的 ,仅仅用 “能带动多

2、少个TTL 输入端 ”来说明的 。P1、 P2 和 P3口,每个引脚可以都带动 3 个 TTL 输入端 ,只有 P0 口的能力强 ,它可以带动 8 个!分析一下 TTL 的输入特性 ,就可以发现 , 51 单片机基本上就没有什么驱动能力 。 TTL 输入基极的电流很小 (一般为微安级的 10uA-100uA)。它的引脚 ,甚至不能带动当时的 LED 进行正常发光 。(其工作电流一般为几个毫安到十几个毫安 )。记得是在 AT89C51 单片机流行起来之后 ,做而论道才发现 :单片机引脚的能力大为增强 ,可以直接带动 LED 发光了 。看看下图 ,图中的 D1、 D2 就可以不经其它驱动器件 ,直

3、接由单片机的引脚控制发光显示 。虽然引脚已经可以直接驱动 LED 发光 ,但是且慢 ,先别太高兴 ,还是看看 AT89C51 单片机引脚的输出能力吧 。从 AT89C51 单片机的 PDF 手册文件中可以看到 ,稳态输出时 , “灌电流 ”的上限为 :Maximum IOL per port pin: 10 mA;Maximum IOL per 8-bit port:Port 0: 26 mA,Ports 1, 2, 3: 15 mA;Maximum total I for all output pins: 71 mA.这里是说 :每个单个的引脚 ,输出低电平的时候 ,允许外部电路 ,向引脚灌

4、入的最大电流为10 mA;每个 8 位的接口 ( P1、 P2 以及 P3),允许向引脚灌入的总电流最大为 15 mA,而 P0 的能力强一些 ,允许向引脚灌入的最大总电流为 26 mA;全部的四个接口所允许的灌电流之和 ,最大为 71 mA。而当这些引脚 “输出高电平 ”的时候 ,单片机的 “拉电流 ”能力呢 ? 可以说是太差了,竟然不到 1 mA。结论就是 :单片机输出低电平的时候 ,驱动能力尚可 ,而输出高电平的时候 ,就没有输出电流的能力 。这个结论是依照手册中给出的数据做出来的 。51 单片机的这些特性 ,是源于引脚的内部结构 ,引脚内部结构图这里就不画了 ,很多书中都有 。在芯片的

5、内部 ,引脚和地之间 ,有个三极管 ,所以引脚具有下拉的能力 ,输出低电平的时候 ,允许灌入 10mA 的电流 ;而引脚和正电源之间 ,有个几百 K 的 “内部上拉电阻 ”,所以 ,引脚在高电平的时候 ,能够输出的拉电流很小 。特别是 P0口,其内部根本就没有上拉电阻 ,所以 P0 口根本就没有高电平输出电流的能力。再看看上面的电路图 :图中的 D1,是接在正电源和引脚之间的 ,这就属于灌电流负载 , D1 在单片机输出低电平的时候发光 。这个发光的电流 ,可以用电阻控制在 10 mA 之内 。图中的 D2,是接在引脚和地之间的 ,这属于拉电流负载 , D2 应该在单片机输出高电平的时候发光

6、。但是单片机此时几乎没有输出能力 ,必须采用外接 “上拉电阻 ”的方法来提供 D2 所需的电流 。哦,明白了 ,外接电路如果是 “拉电流负载 ”,要求单片机输出高电平时发挥作用 ,那就必须用 “上拉电阻 ”来协助 ,产生负载所需的电流 。下面做而论道就专门说说上拉电阻存在的问题 。从上面的图中可以看到 , D2 发光 ,是由上拉电阻 R2 提供的电流 , D2 导通发光的电压约为 2V,那么发光的电流就是 : (5 2) / 1K,约为 3mA。而当单片机输出低电平 (0V), D2 不发光的时候 , R2 这个上拉电阻闲着了吗 ?没有 !它两端的电压 ,比 LED 发光的时候还高 ,现在是

7、5V 了,其中的电流 ,是 5mA !注意到了吗 ? LED 不发光的时候 ,上拉电阻给出了更大的电流 !并且 ,这个大于正常发光的电流 ,全部灌入单片机的引脚了 !如果在一个 8 位的接口 ,安装了 8 个 1K 的上拉电阻 ,当单片机都输出低电平的时候 ,就有 40mA 的电流灌入这个 8 位的接口 !如果四个 8 位接口 ,都加上 1K 的上拉电阻 ,最大有可能出现 32 5 = 160mA的电流 ,都流入到单片机中 !这个数值已经超过了单片机手册上给出的上限 。如果此时单片机工作不稳定 ,就是理所当然的了 。而且这些电流 ,都是在负载处于无效的状态下出现的 ,它们都是完全没有用处的电流

8、 ,只是产生发热 、耗电大 、电池消耗快 .等后果 。呵呵 ,特别是现在 ,都在提倡节能减排 ,低碳 .。那么 ,把上拉电阻加大些 ,可以吗 ?回答是 :不行的 ,因为需要它为拉电流负载提供电流 。对于 LED,如果加大电阻,将使电流过小 ,发光暗淡 ,就失去发光二极管的作用了 。对于 D1,是灌电流负载 ,单片机输出低电平的时候 , R1、 D1 通路上会有灌电流;输出高电平的时候 ,那就什么电流都没有 ,此时就不产生额外的耗电 。综上所述 ,灌电流负载 ,是合理的 ;而 “拉电流负载 ”和 “上拉电阻 ”会产生很大的无效电流 ,这种电路不合理 。有些网友对上拉电阻情有独钟 ,有用没用的 ,

9、都想在引脚上安装个上拉电阻 ,甚至还能说出些理由 :稳定性啦 、速度啦 .。其实 , “上拉电阻 ”和 “拉电流负载 ”电路 ,是会对单片机系统造成不良后果的 。做而论道看过很多关于单片机引脚以及上拉电阻方面的书籍 、参考资料 ,基本上它们对于使用上拉电阻的弊病都没有进行仔细的讨论 。在此 ,做而论道郑重向大家提出建议 :设计单片机的负载电路 ,应该采用 “灌电流负载 ”的电路形式 ,以避免无谓的电流消耗 。上拉电阻 ,仅仅是在 P0 口才考虑加不加的问题 :当用 P0 口做为输入口的时候,需要加上 、当用 P0 口输出高电平驱动 MOS 型负载的时候 ,也需要加上 ,其它的时候 , P0 口

10、也不用加入上拉电阻 。在其它接口 (P1、 P2 和 P3),都不应该加上拉电阻 ,特别是输出低电平有效的时候 ,外接器件就有上拉的作用 。单片机单片机单片机单片机 IO 引脚驱动能力的提高引脚驱动能力的提高引脚驱动能力的提高引脚驱动能力的提高早期的 51单片机 ,驱动能力很低 。 P1、 P2和 P3口只能驱动 3个 LSTTL 输入端, P0口可驱动 8个。如果想要驱动更多的器件 ,就要用到 “总线驱动芯片 ”。经常用的就是 74LS244(单向 )和 74LS245(双向 )。现在常用的 AT89C51 单片机引脚的输出能力已经大多了 ,从 PDF 手册文件中可查出 :单片机输出低电平的

11、时候 ,单个的引脚 ,向引脚灌入的最大电流为 10 mA;一个 8 位的接口 ( P1、 P2 以及 P3),灌入的总电流最大为 15 mA, P0 允许灌入的最大总电流为 26 mA;全部的四个接口所允许的灌电流之和 ,最大为 71 mA。但是当引脚输出高电平的时候 ,它们的 “拉电流 ”能力可就差多了 ,竟然还不到 1mA。单片机的输出特性和很多常用的 LSTTL 器件的输出特性是相同的 ,都有灌电流较大的特点 。实际上 ,现在常用的单片机 IO 引脚驱动能力 ,就和早期的单片机增加了 “总线驱动芯片 ”的效果基本是相同的 。现在的单片机输出低电平的时候 ,就已经可以直接驱动 LED 发光

12、了 。上述的数值 ,也并非是不可逾越的破坏性极限数值 。当略超过这些数值范围的时候 ,单片机 IO 引脚的电压 ,就会发生变化 ,造成 “高电平不高 ”、 “低电平不低 ”,这就会缩小外接器件的噪声容限 。如果环境再稍有干扰 ,外接器件就无法正确判定单片机送来的高 、低电平 ,将会胡乱动作 。=为了合理利用 IO 引脚的低电平能力强的特点 ,在外接耗电较大的器件 (如 LED数码显示器 、继电器等 )的时候 ,应该优先选用低电平输出来驱动外部器件 。使用 IO 口输出高电平驱动负载 ,就是一个错误的选择 。下图是一个直接利用单片机 IO 引脚驱动 LED 的电路 。图中 P0口使用低电平驱动方

13、式 ,只要加上约 1K 的限流电阻即可 ,甚至不需要常见的 P0口上拉电阻 。发光的段 ,每个引脚灌电流约为 3mA,不发光的段 ,电流为 0。即使各个段全都发光 ,电流也不超过 P0所容许的电流 ,这是一个合理的驱动方式 。图中 P3口使用了高电平驱动方式 ,这就必须加上上拉电阻来帮助 IO 接口输出电流。电阻也采用了 1K,发光的段 , LED 上的电流约为 3mA,不发光的段 ,电流则为 5mA,灌入了单片机的 IO 引脚 。这种电路 ,给单片机 IO 引脚带来了很大的电流 ,一个 8位的接口最大有可能被灌入 40mA 的电流 ,远远超过了容许的数值 。上拉电阻能够增加大量不需要的电流

14、,不仅会造成单片机工作不稳定 ,还会导致电源效率的严重下降 ,发热 ,纹波增大 。这说明 ,高电平输出 、加上拉电阻 ,就是一个不合理的驱动方式 。如果只是一个引脚的电流取值稍大一些 ,还算可以 ;但是综合考虑一个 8位的接口,则每个引脚的电流就不要大于 23mA。这样来看 ,上拉电阻最小应该在 1.8K2.5K 之间 ,不宜再小 ,以免总电流超过接口所容许的电流 。在 网 上 看 到 一 篇 “51 单 片 机 P0 口 上 拉 电 阻 的 深 入 研 究 ” 的 文 章 (http:/ ,写的很低 ,甚至说可以选 200欧姆 !呵呵 ,这会烧毁单片机引脚的 。=驱动更大电流的负载 ,可以使

15、用三极管来扩充电流 ,也可使用集成芯片 ULN2003(或 ULN2008),另外也可使用专用的驱动器件 L298、各种型号的 IGBT 等等 。集成芯片的引脚比较密集 ,维修检查较困难 ,更换的时候更是不便 。做而论道比较喜欢使用三极管 ,它的耐压和电流承受能力都远远超过集成芯片 ,在 PCB 上布线也很灵活方便 。做而论道常用的三极管如下 :8550( PNP)和 8050( NPN):它们是一组可以配对使用的三极管 ,特点是集电极允许的电流很大 , Icm 竟然能达到 1500mA!而且还不需要使用散热片 。它们的集电极反向击穿电压 BVceo 为 25V, Pcm 为 0.5W。2N5

16、401( PNP)和 2N5551( NPN):它们也是一组可以配对使用的三极管 ,它们的特点是耐压比较高 ,集电极反向击穿电压 BVceo 可达 160V!它们的最大集电极电流 Icm 为 0.6A, Pcm 为 0.6W。不同厂家的产品 ,参数会稍有不同 。=下面以常见的继电器为负载继续说明驱动方法 。继电器线圈的驱动电流往往要有40mA 以上 ,单片机的引脚肯定是不能承受了 ,必须用三极管来扩充输出能力 。+5V 的大电流负载 ,用 8550( PNP 型)驱动电路可见下图 。P3.7输出低电平的时候 ,在 R1中形成 Ib 约有 2mA,经过 8550的放大 , Ic 足够驱动继电器了

17、 。用这个电路 ,不仅可以驱动继电器 ,也驱动蜂鸣器 、扬声器 、多个 LED 等等 ,甚至驱动小型的直流电机 ,也是可以的 。一般来说 ,电机的工作电流要大一些 ,只要不超过 8550可以输出的最大电流是 1500mA 即可 。驱动电机时 ,图中电阻 R1的取值应该再小一些 。此种电路经过多位网友的验证 ,链接之一如下 :http:/ ,比如继电器可以驱动中间继电器 ,可以直接驱动接触器 ,所以 ,继电器驱动就是单片机与其他大功率负载接口 .这个很重要 ,因为 ,一直让我们的电气工程师 (我指的是那些没有学习过相应的电子技术的 )感到迷惑不解的是 :一个小小的芯片 ,怎么会有如此强大的威力来

18、控制像电动机这样强大的东西 ?怎么样理解这个电路图 ?要理解这个电路 ,其实也比较容易 .那么请您按照我的思路来 ,应该没有问题 :首先的 ,里面的三极管很重要 .三极管是电子电路里很重要的一个元件 .怎么样理解三极管呢 ?简单的来说三极管有两个作用一个是放大作用 ,一个是开关作用 .(严格来讲开关作用是放大作用的极限情况 ,不过没关系 ,把两者分开 ,更便于理解它的工作原理 ).在这里 ,我们只了解它跟本电路有关的开关作用 .首先把三极管想成一个水龙头 .上面的 Vcc 就是水池 ,继电器是一个水轮机 ,下面的 GND 是比水池低的任何一点 .刚才说过 ,三极管就是水龙头 ,它的把手就是那个

19、带有电阻的引脚 .现在 ,单片机的某一个需要控制这个继电器电路的输出引脚就是一只 “手 “,当单片机的这个引脚输出低电平的时候 ,就像 “手 “在打开三极管 “水龙头 “,水就从上往下流 ,继电器 “水轮机 “就开始转起来了 .反之 ,如果是输出高电平 ,“手 “就开始关 “水龙头“,继电器 “水轮机 “因为没有水流下来 ,就会停止 .这就是三极管的开关作用 .简单的理解和记忆就是 :三极管是一个开关器件 ,其实你真的可以将它看成是一个开关 ,只不过它不是用手来控制 ,而是用电压 (电流 )来控制的 ,因此 ,三极管有些时候也被称做电子开关 (与机械开关相区别 ).保护二极管 ,只要是用三极管

20、驱动继电器的场合 ,一般都有它的存在 .需要特别注意的是它的接法 :并联在继电器两端 阴极一定是接 Vcc.继电器线圈是一个电感性质的东东 ,电感有一个特性 ,流经电感线圈的电流不能突变 ,如果突然切断电感线圈的电流 ,电感本身就会产生一个很强的电动势 ,来试图维持电流不变 ,这个电动势往往非常强 ,它会击穿试图阻断电流开关 ,无论是空气开关 ,还是半导体开关 。如果是空气开关 ,就会击穿空气 ,造成不能断电 ,如果是半导体开关 ,就会烧毁这个开关 。那个二极管就是为这个电动势提供一个泄放的通路 ,由于电动势的方向与电源的方向相反 ,所以叫做反向电动势 ,二极管也是反向接入的 。有了它 ,电动

21、势就不会太高了 ,保护了开关和其他元器件不至于损坏 。这些电路都是一个特点 ,即使用了射极输出电路结构 。射极输出电路要求输入的动态范围要大 ,而且输出的电压范围永远比输入小 0.7V。射极输出电路就不能有效的利用 +5V 的电源 ,实际上 ,加到继电器上的电压 ,不足 +4V,除非是使用 4V的继电器 ,否则这就是不稳定的隐患 。做而论道给出的电路是共射极结构 ,有电压放大能力 ,所以对输入的要求较低 ,输出动态范围大 。=对于大于 +5V 的负载 ,如 +12V,上面的电路就不行了 。如果只是简单的把电源由 +5V 改为 +12V,那么单片机输出的高 、低电平 ,还是只有 05V 的变化幅

22、度 ,这对 8550射极的 +12V 来说 ,都是低电平 。 8550将不能截止 。对于大于 +5V 的负载 ,只能使用 NPN 型的 8050三极管来驱动 ,先单片机以输出高电平来驱动 。电路如下 。上述的电路 ,完全可以工作 ,也经过了多位网友的验证 ,链接之一如下 :http:/ I/OI/I/OI/如何用单片机 I/O 口控制继电器 ?为什么这样接线不行 ?单片机是 STC89C51, 我是想用两个继电器控制电机正反转 , 在 protues 上实现了 , 但是焊到板上发现 I/O 口控制不了继电器 。刚我试了用 3.3K 的电阻 ,还是不行啊 ?你这种画法 ,是期望 P2.0输出高电

23、平 ,继电器吸合 。 但是 , 51单片机 ,输出高电平的电流有限 ,吸合 ,未必可靠 。 解决的方法是加个 3.3K 的上拉电阻 。=在上述电路中 ,上拉电阻 R2也会带来无谓的电流 ,其害处前面已经讨论过 。更重要的缺点是 :在开机单片机复位后 ,自然输出的高电平 ,会使继电器吸合 ,或者是使电机转动 。(使用 ULN2003等芯片扩充输出电流的时候 ,也存在这个问题。)虽然编程的时候 ,可以先进行接口的初始化 ,令其马上就输出 0。但是每次开机 ,还是会有瞬间的大电流冲击 ,这往往是不允许的 。改进一下 ,可以再加上个 8550,进行倒相 ,这就可以让单片机用输出低电平来驱动负载 。上述

24、的电路 ,完全可以工作 ,也经过了多位网友的验证 ,链接之一如下 :http:/ ,只要求可以正反转即可 ,不要调速的 ,我在网上搜了好多关于 H 驱动电路的电路图 ,都不行 ,我自己制作电路 ,最好有参数的 ,尽量简单 ; 下面是别人给我回答的电路图 ,自己制作时根本不行 ,我用的是 12v 电源 ,电阻加不加都无法驱动 ,哪位自己做过的 ?发一张管用的电路图 ,谢谢 !问题补充问题补充问题补充问题补充 : :为什么要加那两个电阻啊 , 加电阻单片机中的电流不是更小了 ?能不能不加啊 ?你用的是 12V 电源 ,也就应该使用这个电路了 。 问题是单片机输出高电平 ,提供的电流有限 ,虽经过

25、8050放大 ,也难以达到使电机转动的需求 。 可以再加一级放大 ,用 8550即可 ,见图 。 原来的 1K 电阻可以适当的减小 , 680 470欧姆左右即可 。 此时 ,单片机输出低电平时 ,电机转动 。 -加那两个电阻 ,是进行电流限制 ,以免烧坏三极管和单片机引脚 。 3.3K 电阻 ,是控制 8550的基极电流 ,在 1mA 左右就基本够用 ; 减小到 1K 也可 ,这时 ,电流将近 5mA 了,还可以的 。 1K 电阻 ,是控制 8050的基极电流的 ,减小到 470欧姆 ,基极电流就能达到 8 10mA,电流再增大 , 8050有危险 。上图中倒相用的 8550,也可以使用 “

26、光耦 ”器件 ,这样一来 ,又增加了电气隔离的功能 ,这就是最完美的单片机输出驱动电路 。电路见下图 。图中的 4N25经过实际测量 ,当 LED 的电流大于等于 4.5mA 时,输出端的光电管即可为 Q4提供足够的基极电流 。所以图中的 R3,可以使用 8101K 的电阻 。=上述的各个电路 ,都是以扩充单片机的输出电流为主题 。其实 ,很多数字 IC 的输出端 ,都存在扩充电流输出能力的问题 ,这里给出的电路 ,是普遍适用的 。这里介绍的 8050/8550可以输出 1500mA 的电流 ,如果要求更大的输出电流 ,一种方法更换三极管 ,另外也可以使用专用大功率驱动器件 ,如 L298,固

27、态继电器, IGBT 等等 。这些器件做而论道都使用过 ,等以后再给大家介绍 。51单片机单片机单片机单片机 P0口上拉电阻的深入研究口上拉电阻的深入研究口上拉电阻的深入研究口上拉电阻的深入研究在讨论上拉电阻问题之前 ,首先需要清楚的是 ,P0是一个 OC 结构 ,也就是是相当与一个 NPN 的三极管 ,C 极没有接任何东西 ,E 极接地 ,B 极接在一个数字电路的输出口上 。所以没有接上拉电阻的时候 ,相当于 CE 没有任何电压 ,那么不 管BE 的电压是多少 ,三极管都不会导通和工作 。接了上拉电阻后 ,也就是 C 极接了一个 10K 的电阻到 5V,那么当 BE 的电压是 0的时候 ,三

28、极管截止 ,电阻没有导通 ,C 极的电压等于 5V 当 BE 的电压为 0.7V 时,三极管饱和导通 ,CE 的压降接近为 0,电阻的电压会有 5V。下面我们就具体讨论如何确定上拉电阻的大小 。(1)如果是驱动 led,那么用 1K 左右的就行了 。如果希望亮度大一些 ,电阻可减小 ,最小不要小于 200欧姆 ,否则电流太大 ;如果希望亮度小一些 ,电阻可增大,增加到多少呢 ,主要看亮度情况 ,以亮度合适为准 ,一般来说超过 3K 以上时 ,亮度就很弱了 ,但是对于超高亮度的 LED,有时候电阻为 10K 时觉得亮度还能够用 。通常就用 1k 的。(2)对于驱动光耦合器 ,如果是高电位有效 ,

29、即耦合器输入端接端口和地之间,那么和 LED 的情况是一样的 ;如果是低电位有效 ,即耦合器输入端接端口 和VCC 之间 ,那么除了要串接一个 14.7k 之间的电阻以外 ,同时上拉电阻的阻值就可以用的特别大 ,用100k500K 之间的都行 ,当然用 10K 的也可以 ,但是考虑到省电问题 ,没有必要用那么小的 。(3)驱动晶体管分为 PNP 和 NPN 管两种情况 :对于 NPN,毫无疑问 NPN 管是高电平有效的 ,因此上拉电阻的阻值用 2K 20K 之间的 ,具体的大小还要看晶体管的集电极接的是什么负载 ,对于 LED 类负载 ,由于发管电流很小 ,因此上拉电阻的阻值可以用 20k 的

30、,但是对于管子的集电极为继电器负载时 ,由于集电极电流大 ,因此上拉电阻的阻值最好不要大于 4.7K,有时候甚至用 2K 的。对于 PNP管,毫无疑问 PNP 管是低电平有效的 ,因此上拉电阻的阻值用 100K 以上的就行了 ,且管子的基极必须串接一个 1 10K 的电阻 ,阻值的大小要看管子集电极的负载是什么 ,对于 LED 类负载 ,由于发光电流很小 ,因此基极串接的电阻的阻值可以用20k 的,但是对于管子的集电极为继电器负载时 ,由于集电极电流大 ,因此基极电阻的阻值最好不要大于 4.7K。(4)对于驱动 TTL 集成电路 ,上拉电阻的阻值要用 110K 之间的 ,有时候电阻太大的话是拉

31、不起来的 ,因此用的阻值较小 。但是对于 CMOS 集成电路 ,上拉电阻的阻值就可以用的很大 ,一般不小于 20K,我通常用 100K 的,实际上对于 CMOS电路 ,上拉电阻的阻值用 1M 的也是可以的 ,但是要注意上拉电阻的阻值太大的时候,容易产生干扰 ,尤其是线路板的线条很长的时候 ,这种干扰更严重 ,这种情况下上拉电阻不宜过大 ,一般要小于 100K,有时候甚至小于 10K。根据以上分析 ,上拉电阻的阻值的选取是有很多讲究的 ,不能乱用 。at89S52单片机各个 IO 口输出电流 为: 高电平时输出拉电流 , 大概是 0.08-0.16mA( 4-8个 TLL 电路 ,每个是 20u

32、A) 。低电平时输入灌电流 ,最大 20mA 左右 ,建议使用 10mA 左右为宜 。所有 IO 口的灌电流加起来不能超过 100mA。从这些数值看 ,其实 52的输出能力是很弱的 。往往外面需要加驱动 。几种常用几种常用几种常用几种常用 51 单片机的单片机的单片机的单片机的 I/O 口驱动能力分析口驱动能力分析口驱动能力分析口驱动能力分析在控制系统中 ,经常用单片机的 口驱动其他电路 。几种常用单片机 口驱动能力在相关的资料中的说法是 : 、 的、 的口线分别具有 、 的输出驱动能力 , 的、 、 、 的口线具有 的输出驱动能力 。在实际应用中 ,仅有这些资料是远远不够的 。笔者通过实验测

33、出了上述几种单片机的 口线的伏安特性 (图、图),从中可以得到这些 口的实际驱动能力 。说明 :、测试方法 :所测试的口线输出的信号是周期为 秒的方波 。当测试口线为低电平时的驱动能力时 ,该口线通过电阻箱接 电源 ,测出该口线对地的电压 ,从而计算出通过电阻的电流 ,即灌电流 ;测出这样的一组数据 ,得到口线为低电平时的伏安特性曲线 。当测试口线为高电平时的驱动能力时 ,该口线通过电阻接地 ,测出该口线对地的电压 ,从而计算出通过电阻的电流 ,即拉电流;测出这样的一组数据 ,得到口线为高电平时的伏安特性曲线 。、 、 的和及 的口的 条口线为漏极开路 ,其输出伏安特性取决于外接的上拉电阻 ,

34、本实验不包括这些口线 。实验发现 , 的口为高电平时能够驱动 和 ,但驱动能力较差 ,其输出伏安特性曲线未标在图 中。、图中绘出 电平的上下限值 OL(MAX) 和OH(MIN), 据此可求出口线的最大扇出 。 : 、 、 、 口线为低电平时 , L ,、 、 口线为高电平时 , H ,取 。 : 、 口线为低电平时 , L , 、口线为高电平时 , H,取 。 : 、 口线为低电平时 , L , 口线为高电平时 , H ,取 。根据图 、图及上述说明 ,可以得出如下结论 :1)这几种芯片的 口线的低电平的驱动能力明显高于高电平的驱动能力;2) 的口作 口的驱动能力为 : ,口高电平的驱动能力相对较差 ,最好不用 口高电平作驱动 ;3) 的、口做 口的驱动能力为 : ;4) 的、 、 口做 口的驱动能力为 : 。根据以上结论 ,笔者建议用 口线的低电平来作驱动输出 ;典型的驱动电路如图 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报