利用IO口的低电平状态可以设计如图的驱动LED方式

单片机的IO口可以输出三种状态:高电平、低电平、高阻。那么利用IO口的低电平状态可以设计如图方式1的驱动LED方法(这个也是不用三极管情况下常用的方式),利用IO口的高电平状态可以设计如图方式2的驱动LED方式。而再来看单片机的拉电流是uA级别的,根本无法驱动外部LED。

那么可以利用IO口的低电平状态来设计如方法一所示的LED驱动方法(这也是不使用晶体管时常用的方法)。 可以利用IO口的高电平状态来设计LED驱动方法,如方法2所示。

利用IO口的低电平状态可以设计如图的驱动LED方式

所以大家实际搭建好电路并加载驱动后,方法1可以完美运行,但是方法2的灯却无法点亮。 为什么? 这就需要引入灌电流和拉电流的概念来解释。

1、灌电流:图中的(1)连接方法中,当单片机输出低电平时,电流方向从外部进入单片机,称为灌电流,该电流由外部电源提供。

2、电流拉动:图中的(2)连接方法中,当单片机输出高电平时,电流的方向是从单片机向外输出,称为拉动电流。 电流由单片机提供,可以理解为“外部元件从单片机取电”。 ”。

如果你看一下单片机的规格,你会发现IO口允许外部传入电流达到几十mA,但是所有IO口的总传入电流是有限制的,所以需要驱动几个LED来同时亮起。 可能行不通。 看看微控制器消耗的电流为uA级别,它根本无法驱动外部LED。 那么为什么高级状态下驱动能力这么弱呢? 原因是IO口集成了很大的上拉电阻,GND是由开关控制的(阻抗很低,可以忽略)。

利用IO口的低电平状态可以设计如图的驱动LED方式

上面只是描述了单片机的IO口的情况,所以以此类推,很多IC的GPIO口都有灌电流和拉电流的限制,所以使用时要注意这个电流限制。

可以知道,采用方法一驱动LED,对LED的数量是有限制的。 另外,如果LED损坏短路,电流会直接流入IO口,可能会导致单片机损坏。 有人引入三极管来解决这些问题。 IO口只负责控制三极管的通断。 晶体管饱和后的Vce压降应选择尽可能小的。 这里饱和后Vce=0.1V。 LED采用2V/20mA驱动,则三极管Ic=20mA。 限流电阻R1=(5-2-0.1)V/20mA=145Ω,145不是标称值,则实际选择150Ω电阻,实际Ic=(5-2-0.1)V/20mA= 19毫安。

利用IO口的低电平状态可以设计如图的驱动LED方式

然后确定三极管的放大倍数Hfe。 假设为100,则三极管B极电流为19mA/100=0.19mA。

也就是说,如果IO口需要驱动这个LED,则必须支持的最小输出电流至少为0.19mA。 这个电流很小,而且多个串口同时驱动多个LED,所以压力不是很大。

但如果您使用的IC IO口最大输出电流只有0.1mA,仍然无法满足要求怎么办? 那么就需要NPN+PNP晶体管的组合来解决问题。

利用IO口的低电平状态可以设计如图的驱动LED方式

参考上图,如果只用一只NPN管来驱动LED,那么Ic电流=25mA,那么KRC103S基极电流Ib=Ic/Hfe=25mA/150=0.167mA,显然是无法驱动的。 然后再加一颗PNP管KRA102S,PNP管的基极电流Ib=Ic/Hfe=25mA/100=0.25mA,然后NPN管导通,其Ic=0.25mA,则IO口的电流仅0.25mA/150=0.002mA。 这样,控制IC就可以驱动LED了。

过去的亮点:

单片机

如何破解STM3232GG030单片机破解的问题,你会如何应对?

2024-2-2 12:00:04

单片机

什么是单片机解密?单片机(MCU)一般都有内部EEPROM

2024-2-2 13:03:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索