精华内容
下载资源
问答
  • 引脚不能直接驱动继电器,电流达不到要求。继电器不会动作。 window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMi
  • 先需要21ma二极管的放大倍数将近100倍,所以基极电流最小为0.21ma,现E点电压为3v所以R=U/A 电阻最大需要取2V/0.21ma=10000K 如果电阻取100欧那基极电流就是20ma,单片机驱动不了。最大为10ma可知电阻的最小为200...

    看来很多网友都搞不清灌电流和拉电流的概念,下面就此解释一下,希望看过本文后不再就此困扰。

    一个重要的前提:灌电流和拉电流是针对端口而言的。

    名词解释——灌:注入、填充,由外向内、由虚而实。渴了,来一大杯鲜榨橙汁,一饮而尽,饱了,这叫“灌”。

                     灌电流(sink current) ,对一个端口而言,如果电流方向是向其内部流动的则是“灌电流”,比如一个IO通过一个电阻和一个LED连接至VCC,当该IO输出为逻辑0时能不能点亮LED,去查该器件手册中sink current参数。

    名词解释——拉:流出、排空,由内向外,由实而虚。一大杯鲜橙汁喝了,过会儿,憋的慌,赶紧找卫生间,一阵“大雨”,舒坦了,这叫“拉”。

                     拉电流(sourcing current),对一个端口而言,如果电流方向是向其外部流动的则是“拉电流”,比如一个IO通过一个电阻和一个LED连至GND,当该IO输出为逻辑1时能不能点亮LED,去查该器件手册中sourcing current参数。


    http://bbs.21ic.com/viewthread.php?tid=219138&highlight=%2Byezhubenyue

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

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

    分析一下 TTL 的输入特性,就可以发现,51 单片机基本上就没有什么驱动能力。
    它的引脚,甚至不能带动当时的 LED 进行正常发光。

    记得是在 AT89C51 单片机流行起来之后,做而论道才发现:单片机引脚的能力大为增强,可以直接带动 LED 发光了。
    看看下图,图中的 D1、D2 就可以不经其它驱动器件,直接由单片机的引脚控制发光显示。

    虽然引脚已经可以直接驱动 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.

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

    http://bbs.21ic.com/viewthread.php?tid=255097&highlight=%2Byezhubenyue 


    单片机驱动蜂鸣器-. 


    这里驱动蜂鸣器电阻为14k 如果电压为3V的时候需要电流为21ma,但是单片机提供的电流最大也就10ma左右,所以需要三极管来放大电流

    如图P26高电平的时候蜂鸣器工作,P26低电平的时候断开。 蜂鸣器工作电压3V,所以取RES2为2v / 21ma为100欧左右。先需要21ma二极管的放大倍数将近100倍,所以基极电流最小为0.21ma,现E点电压为3v所以R=U/A   电阻最大需要取2V/0.21ma=10000K   如果电阻取100欧那基极电流就是20ma,单片机驱动不了。最大为10ma可知电阻的最小为200欧姆,放大2倍则蜂鸣器就可以工作了。。(在饱和,放大的临界状态所以可以使用 IB=β*IC,)   


    而当这些引脚“输出高电平”的时候,单片机的“拉电流”能力呢? 有10 mA的驱动能力。

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

    51 单片机的这些特性,是源于引脚的内部结构,引脚内部结构图这里就不画了,很多书中都有。
    在芯片的内部,引脚和地之间,有个三极管,所以引脚具有下拉的能力,输出低电平的时候,允许灌入 10mA 的电流;而引脚和正电源之间,有个几百K的“内部上拉电阻”,所以,引脚在高电平的时候,能够输出的拉电流很小。特别是 P0 口,其内部根本就没有上拉电阻,所以 P0 口根本就没有高电平输出电流的能力。

     

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

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

     

    如果在一个 8 位的接口,安装了 8 个 1K 的上拉电阻,当单片机都输出低电平的时候,就有 40mA 的电流灌入这个 8 位的接口!
    如果四个 8 位接口,都加上 1K 的上拉电阻,最大有可能出现 32 × 5 = 160mA 的电流,都流入到单片机中!
    这个数值已经超过了单片机手册上给出的上限。如果此时单片机工作不稳定,就是理所当然的了。
    而且这些电流,都是在负载处于无效的状态下出现的,它们都是完全没有用处的电流,只是产生发热、耗电大、电池消耗快...等后果。
    呵呵,特别是现在,都在提倡节能减排,低碳...。

    那么,把上拉电阻加大些,可以吗? 
    回答是:不行的,因为需要它为拉电流负载提供电流。对于 LED,如果加大电阻,将使电流过小,发光暗淡,就失去发光二极管的作用了。

    对于 D1,是灌电流负载,单片机输出低电平的时候,R1、D1 通路上会有灌电流;输出高电平的时候,那就什么电流都没有,此时就不产生额外的耗电。

    综上所述,灌电流负载,是合理的;而“拉电流负载”和“上拉电阻”会产生很大的无效电流,这种电路不合理。

    有些网友对上拉电阻情有独钟,有用没用的,都想在引脚上安装个上拉电阻,甚至还能说出些理由:稳定性啦、速度啦...。
    其实,“上拉电阻”和“拉电流负载”电路,是会对单片机系统造成不良后果的。

    做而论道看过很多关于单片机引脚以及上拉电阻方面的书籍、参考资料,基本上它们对于使用上拉电阻的弊病都没有进行仔细的讨论。

     

    在此,做而论道郑重向大家提出建议:设计单片机的负载电路,应该采用“灌电流负载”的电路形式,以避免无谓的电流消耗。

    上拉电阻,仅仅是在 P0 口才考虑加不加的问题:当用 P0 口做为输入口的时候,需要加上、当用 P0 口输出高电平驱动 MOS 型负载的时候,也需要加上,其它的时候,P0 口也不用加入上拉电阻。

    在其它接口(P1、P2 和 P3),都不应该加上拉电阻,特别是输出低电平有效的时候,外接器件就有上拉的作用。

    展开全文
  • 单片机的IO是有驱动能力限制的,特别是输出为高电平的时候,是有限制的。我们在设计单片机输出的时候,一定要注意IO口的输出能力和输出电平是否可以接受,其次是负载类型会不会造成信号不良或对IO口本身造成伤害。
  • 本文主要讲了单片机io口驱动能力与上拉电阻,希望对你的学习有所帮助。
  • 详细分析51单片机各IO引脚的驱动能力单片机的引脚,可以用程序来控制,输出高、低电平,这些可算是单片机的 输出电压。 但是,程序控制不了单片机的输出电流。 单片机的输出电流,很大程度上 是取决于引脚上的...
  • 51单片机的IO口驱动能力、灌电流、拉电流、上拉电阻的选择
  • 下述的各个电路,都是以扩充单片机的输出电流为主题。其实,很多数字IC的输出端,都存在扩充电流输出能力的问题,这里给出的电路,是普遍适用的。
  • 51单片机管脚驱动能力

    千次阅读 2011-12-15 17:59:46
    不同厂家生产的单片机P1口的驱动能力 是不同的。下面仅举最常用的3种单片机为例,谈谈驱动能力。 先说说LS型TTL负载。 LS型TTL负载是指单片机端口所接负载是74LS系列的数字芯片。以TI公司的74LS00芯片为例,其输入端...
      
    
    在51单片机系列中,现在生产厂家很多,兼容型号也很多。不同厂家生产的单片机P1口的驱动能力 是不同的。下面仅举最常用的3种单片机为例,谈谈驱动能力。 先说说LS型TTL负载。 LS型TTL负载是指单片机端口所接负载是74LS系列的数字芯片。以TI公司的74LS00芯片为例,其输入端接高电平时,输入电流为20μA,输入端接低电平时,输入电流是-0.4mA。因此,单片机端口输出高电平时,每个LS型的输入端将是20μA的拉电流型负载;输出低电平时,将是0.4mA的灌电流负载。 1. 标准的Intel8051单片机:其P0口是一个漏极开路的准双向口,驱动能力是8个LS型TTL负载。我们常说51单片机P1口只是准双向口,内部没有上拉的(上拉的概念只是对于I/O的输入来说,对于输出来说,无所谓上拉,下拉的)。其实并不对。不对之处有两点:①没有上拉的是P0口,而不是P1口。P1口是有上拉的。② 没有上拉(即漏极开路)其实只对输出有影响,以致只能输出低电平,不能输出高电平,而不妨碍高低电平的输入。因此对P0口来说,输出为高电平时,其输出电流为0,必须外接上拉电阻才能输出高电平;输出低电平时,允许灌入电流为0.4mA×8=3.2mA。而P1、P2、P3口都是有上拉的准双向口,带负载能力为4个LS型TTL门,因此,高电平输出电流为20μA×4=80μA,低电平允许灌入电流为0.4mA×4=1.6mA。输出高低电平的带负载能力都很差,因此应该接入4.7k~10k左右的上拉电阻。 2. AT89系列单片机:因为输出电流会影响输出电压,所以参数表中是结合输出电压来提供输出电流能力的。AT89C51和AT89S51允许的高电平输出电流为:输出电压为3.7V时,电流为25μA;允许的低电平输出电流(实际为灌入电流)为:输出电压为0.45V时,电流为-1.6mA。 AT89系列单片机中有一个另类,输出电流特别大,那就是AT89C2051,允许20mA的灌电流输入,但高电平输出电流也只有30μA。 3. STC89系列单片机:晶宏科技的STC89系列单片机现在应用的人很多。由于至今没有见到正规的Datasheet,只能从它的简介上得知:通用I/O 口(36/40 个),复位后为: 准双向口/ 弱上拉(普通8051 传统I/O 口)可设置成四种模式:准双向口/ 弱上拉,推挽/ 强上拉,仅为输入/ 高阻,开漏每个I/O 口驱动能力均可达到20mA,44/40 管脚的IC 建议整个芯片不要超过100mA,20/18/16 管脚的IC 建议整个芯片不要超过60mA。由此可见,晶宏的STC89系列带负载能力最强。以上拙见供参考选用。
     
    展开全文
  • 可是在现实操作过程中总有一种方式出现问题,这就不得不提到现实情况下单片机驱动能力对实验结果的影响。 如图所示第(1)种方式,单片机IO端口输出高电平时,LED灯亮,电流方向由单片机流向GND(我们将单片机...

    一、LED灯与单片机的连接方式

     

           在proteus仿真中,无论LED灯是负极连接IO端口,正极通过电阻连接VCC还是LED灯正极连接IO端口,负极通过电阻连接GND,都是可以通过仿真得到正确结果的。可是在现实操作过程中总有一种方式出现问题,这就不得不提到现实情况下单片机的驱动能力对实验结果的影响。

            如图所示第(1)种方式,单片机IO端口输出高电平时,LED灯亮,电流方向由单片机流向GND(我们将单片机提供高电平,电流方向为单片机由内到外称为拉电流)。第(2)种方式,单片机IO端口输出低电平时,LED灯亮,电流方向由VCC流向单片机内部(我们将单片机提供低电平,电流方向为由外到内输入单片机称为灌电流)。但是在现实中由于单片机驱动能力的影响往往第一种是无法点亮LED灯的。

    二、单片机驱动能力

    我们将两种连接方式与单片机IO端口内部简化之后可以得到如下两个简图:

           单片机输出1时,T断开,这时VCC通过电阻R连接到IO。上图为拉电流连接方式,T断开时,R、R外、LED串联,形成直流通路。I=VCC-Vled/R+R外。R作为单片机内部上拉电阻,阻值一般几百上千K,可见电流就非常小根本无法点亮LED灯。

            单片机输出0时,T闭合连接到GND,这时IO相当于接地。上图为灌电流连接方式,T闭合时形成通路,I=VCC-Vled/R外。LED满足电流的要求,LED灯亮。                                                              可见,有时候理论可行现实却不太可行。

    三、另外两种单片机连接LED灯的比较

           单片机驱动较少LED灯尚且可以但是需要驱动多个时,必须增加外部驱动,以提供外部需要的电流。常用的方式是外部电路加驱动芯片、74HC373、非门、三态门、BJT等。下面将举例说明三极管驱动LED灯电路。如图:

           单片机只是控制三极管的通断,而不是提供驱动电路,输出高电平时三极管导通,可以形成直流通路,使得LED灯点亮;单片机输出低电平时三极管截止(可以理解为断路),使得LED灯灭。这样就可以接多个LED了。                                                                                                                           但是在实际生产中却有缺陷,采用上述方式连接,在系统上电时,LED会闪一下。究其原因:上电瞬间,单片机IO输出没有在瞬间达到程序中初始化的值,另外电源冲击等原因引起三极管瞬间导通,使得LED灯闪烁。这在生产中是不被接受的,所以我们更需要这样更改,加入电容C,吸收尖峰电压:

     

    展开全文
  • 单片机驱动能力

    千次阅读 2009-10-17 16:30:00
    在單片機中﹐I/O能夠驅動8個TTL﹐或能驅動4個TTL一般芯片都允许带多个负载...如果I/O口的驱动能力能带4个标准TTL负载,那就说明它能提供16mA电流。对于低功耗的吸入电流不到1mA。如果带74LSXXX的芯片数量可增加到16个。

    在單片機中﹐I/O能夠驅動8個TTL﹐或能驅動4個TTL

    一般芯片都允许带多个负载,但是到底能带几个呢?每种芯片输入都不同。因此、业内就按能带几个标准TTL负载来说明此芯片的负载能力。一般的标准TTL低电平吸入电流Iilmax是-3.2mA。如果I/O口的驱动能力能带4个标准TTL负载,那就说明它能提供16mA电流。对于低功耗的吸入电流不到1mA。如果带74LSXXX的芯片数量可增加到16个。

    对CMOS负载不是以电流来计算驱动芯片的数量。由于CMOS电路输入端是电荷器件阻抗极高,吸入电流极小。对CMOS芯片负载基本可不考虑吸入电流。那是否CMOS芯片负载数量就可无限制增加呢?答案是否定的。原因是所有CMOS器件的输入都有电容存在,在芯片的资料中可以查到。挂接在输出总线上的各芯片输入端电容等价是并联的,带的负载越多电容越大。大家都知道电容充放电是要时间的。上升边时通过驱动芯片末级的负载电阻以无源方式对电容充电,下降边时负载电容通过驱动芯片的末级晶体管以有源方式放电。因此、负载电容增大会造成传输延迟,这就是CMOS器件负载数量不能无限制加大的原因。
    通常带多少CMOS负载是以输入电容来计算的,还要参考传输延时的允许范围,当然驱动电流大充电时间也相应会短负载数也可增加,但对TTL器件的输出只改善了下降沿延时,对上升沿毫无帮助。如果是OC输出器件,可以选择减小上拉电阻的阻值来改善上升边的延时,但随之功耗增加。

    展开全文
  • 几种常用单片机I/O口驱动能力在相关的资料中的说法是:GMS97C2051、AT89C2051的P1、P3的口线分别具有 10mA、20mA的输出驱动能力,AT89C51的P0、P1、P2、P3的口线...
  • 几种常用单片机I/O口驱动能力在相关的资料中的说法是:GMS97C2051、AT89C2051的P1、P3的口线分别具有 10mA、20mA的输出驱动能力,AT89C51的P0、P1、P2、P3的口线...
  • 几种常用单片机I/O口驱动能力在相关的资料中的说法是:GMS97C2051、AT89C2051的P1、P3的口线分别具有 10mA、20mA的输出驱动能力,AT89C51的P0、P1、P2、P3的口线...
  • 详细分析了几种常见单片机的I/O口结构,并据此分析其驱动能力大小
  • 本文为读者提供了一个关于51单片机IO引脚的驱动能力与上拉电阻设计方案,希望会对读者有所帮助。
  • 单片机IO口驱动能力

    千次阅读 2016-11-29 19:44:00
    以STM32的IO口为例,最大的输出电流和灌入电流在芯片手册上...所以单片机驱动外设时,如果不是信号型而是功率型的,如继电器,都要用三极管等缓冲器扩流。 转载于:https://www.cnblogs.com/yuesheng/p/6115093.html...
  • 单片机IO引脚驱动能力的提高

    万次阅读 2016-01-25 11:44:17
    早期的51单片机驱动能力很低。P1、P2和P3口只能驱动3个LSTTL输入端,P0口可驱动8个。如果想要驱动更多的器件,就要用到“总线驱动芯片”。经常用的就是74LS244(单向)和74LS245(双向)。现在常用的 AT89C51 ...
  • 单片机IO驱动能力不够,因此使用ULN2003驱动。 采用4相8拍驱动方式,步进电机在proteus里是motor-stepper,接法:中间引出接电源,其他脚顺时针或逆时针接即可。
  • 最近看到网上很多人都在找STM32单片机驱动LCD1602液晶程序,有的人写的比较复杂刚好自己最近也在搞STM32单片机。就花了点时间写出一份仅供参考和学习。单片机IO驱动能力弱这里用的是10K上拉电阻,也可以采用74HC245...
  • 灌电流负载,是合理的;而“拉电流负载”和“上拉电阻”会产生很大的无效电流,这种电路不合理。
  • 单片机IO引脚驱动能力的提高

    千次阅读 2013-08-31 16:41:27
    单片机IO引脚驱动能力的提高 早期的51单片机驱动能力很低。P1、P2和P3口只能驱动3个LSTTL输入端,P0口可驱动8个。如果想要驱动更多的器件,就要用到“总线驱动芯片”。经常用的就是74LS244(单向)和74LS245...
  • 单片机的引脚,可以用程序来控制,输出高、低电平,这些可算是单片机的输出电压。
  • 单片机驱动继电器

    千次阅读 2016-03-12 19:28:38
    之前说过,单片机的拉电流和灌电流有限,即输出驱动能力有限,要驱动继电器这类大功率的器件该怎么办呢,答案很简单:用三极管。器件参数该如何确定呢? 手上有一个HFD23的5V继电器,下面看一下其参数。 可以...
  • 单片机实现EMC设计需注意的以下的情况:   1、单片机的工作频率 1.1单片机的设计应根据客户的需求来选择较低的工作频率 首先介绍一下这样做的优点:采用低的晶振和总线频率使得我们可以选择较小的...
  • 单片机程序设计基础 在简单了解单片机原理的基础上我们就可以试着编一些简单的程序以便提高单片机系统的认识同时培养单片机的编程能力本章以项目和任务为...3.1 单片机驱动一个LED闪烁 单片机的I/O口可以直接驱动一些器

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,869
精华内容 5,547
关键字:

单片机驱动能力