单片机的驱动能力对点亮LED灯的影响

Posted 小白努力染色

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机的驱动能力对点亮LED灯的影响相关的知识,希望对你有一定的参考价值。

一、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,吸收尖峰电压:

 

以上是关于单片机的驱动能力对点亮LED灯的影响的主要内容,如果未能解决你的问题,请参考以下文章

单片机的IO驱动LED灯电路,需要用到三极管,求原理图,并说明

单片机串口通信控制led灯的点亮

STM32点亮小灯的程序和方法

用C语言编写,单片机控制LED灯并用定时器延时,每隔一秒使LED依次点亮,8 个灯

求教如何用单片机控制LED灯的亮度

如何点亮一个LED灯