慧聪led屏网

小议单片机如何驱动LED灯 看完后估计你就有点懂了

http://www.ledp.hc360.com2018年11月19日08:49 来源:慧聪LED屏网T|T

   慧聪LED屏网报道

    一、关于LED灯与单片机的连接

  上节的图中,LED与电阻串联,LED灯负极接到单片机IO,电阻另一引脚接VCC,编程后通过proteus仿真,可以得到想要的结果,没毛病?

  但是,why? 有没有其他的连接方式,LED灯正极接单片机IO,负极串联电阻到GND,这样貌似也可以,可是实际应用中,这种方式得出的结果是:“靠!不灵” ,这里就引入新的问题——单片机的驱动能力!

  这我想应该很好理解,人的忍耐度有限,何况是这小小的单片机?

  请看下图的两种连接方式

  

小议单片机如何驱动LED灯,看完后估计你就有点懂了

  第(1)种方式,单片机IO输出低电平时,LED灯亮,电流方形如图中的红色箭头;

  第(2)种方式,理想状态下是单片机输出高电平,点亮LED,电流方向如图箭头,可是理想虽丰满,现实很骨感,对于8051单片机,这种方式或许点不亮LED灯,这里就引入了此文要描述的问题——单片机IO驱动能力!

  二、驱动能力比了解的两个概念——灌电流和拉电流

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

  2、拉电流:图中第(2)个连接方式中,单片机输出高电平时,电流方向由单片机输出到外部,称为拉电流,电流由单片机提供,我理解为“外部元件从单片机取电”。

  了解这两个概念后,很有必要先来了解单片机IO口的内部结构,以80C51单片机P1口为例,如图:

  

小议单片机如何驱动LED灯,看完后估计你就有点懂了

  姑且先关心图中的T和上拉电阻,为了更好理解,将T简化为开关来描述,如下图

  

小议单片机如何驱动LED灯,看完后估计你就有点懂了

  (1)单片机输出0时,T闭合连接到GND,这时IO相当于接GND。

  (2)单片机输出1时,T断开,这时VCC通过电阻R连接到IO。

  于是前面的两种连接方式简化为下图

  

小议单片机如何驱动LED灯,看完后估计你就有点懂了

  A、第(1)图为灌电流连接方式,T闭合时形成直流通路,LED满足电流的要求,LED灯亮,电流方向如图标识,I = VCC -Vled / R1 。

  B、第(2)图为拉电流连接方式,T断开时,R、R2和D2串联,形成直流通路,I = VCC - Vled / R+R2 , R是单片机内部上拉电阻,阻值几百上千K,显而易见地,电流I就很小很小了,达不到点亮LED灯。

  分析至此,也可能只是一厢情愿,灵不灵得看看关键的东西,datasheet,万恶的英文,如图:

  

小议单片机如何驱动LED灯,看完后估计你就有点懂了

  

小议单片机如何驱动LED灯,看完后估计你就有点懂了

  (1)单片机输入低电平时,允许外部最大灌入电流15mA

  (2)单片机8位端口同时输出低电平时,最大电流之和为 26mA

  (3)所有IO同时输出低电平时,最大电流之和为71mA

  可见,灌电流方式可接几个LED灯,就可以计算了,而单片机输出高电平时,如下图

  

小议单片机如何驱动LED灯,看完后估计你就有点懂了

  什么 鬼,几乎没驱动能力,可见单片机内部上拉电阻得多大?

  综上,建议设计电路时,先看datasheet,计算过驱动能力后,再去画电路图,再去编程,再去调试,问题应该不大了。

  三、或许这是一种正确的LED灯连接方式

  单片机驱动一两个LED灯可以胜任,当需要驱动多个时,必须外部加驱动,以提供外部电流需要的电流,常用的方式是外部电路加驱动芯片,74HC373,非门,三态门,BJT等均可,下面举例用三极管驱动LED灯的电路,如图。

  

小议单片机如何驱动LED灯,看完后估计你就有点懂了

  单片机只控制三级管的通断,不需要提供驱动电流,输出高电平时三极管导通,形成直流通路,LED灯点亮;单片机输出低电平时,三极管截止,可理解为断路,LED灭。这样接多个LED,也没问题了。

  然而,挣一份工资可没那么容易,小编是一枚从事医疗器械行业的苦逼工程师,近几年国家对产品注册进行了强制性,十分严格地控制,其中一道坎——EMC。

  上图中的方式应用在产品中,系统上电时,LED灯闪了一下,这这...... 这可不是做实验,产品绝对不允许这种现象。究其原因,在上电瞬间,单片机IO输出不可能立即达到程序中初始化的值,另外电源的冲击,PCB板上其他信号的干扰等,引起三极管瞬间导通一下,LED灯就闪了一下;另外,对系统打ESD或EFT时,LED灯也被干亮了,结果是——不合格,最后更改如下图,解决问题

  

小议单片机如何驱动LED灯,看完后估计你就有点懂了

  加入电容C,吸收尖峰电压,PASS.................

    优质商铺推荐:深圳市华夏光彩股份有限公司

责任编辑:李莉梅

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

慧聪LED屏公众号
慧聪LED屏网公众号

更多资讯!欢迎扫码关注慧聪LED屏网微信公众账号