EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
学过 单片机应该都知道。单片机的IO口可以输出三种状态:高电平、低电平、高阻。一般不同封装和颜色的驱动电压和电流都有些许差异,具体要参照使用LED的规格书。这里演示为2V/20mA就可额定工作条件的LED。
6 S' B' ]( @0 ?那么利用IO口的低电平状态可以设计如图方式1的驱动LED方法(这个也是不用三极管情况下常用的方式),利用IO口的高电平状态可以设计如图方式2的驱动LED方式。
W) V1 ^: n, \ v上面仅仅讲述了单片机IO口的情况,那么举一反三,很多IC的GPIO口都会有灌入电流和拉电流的限制,所以在使用的时候要注意这个电流的限制。 6 V; L* l; X8 w+ J" b; P
可以知道使用方式1驱动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=19mA。 也就是说如果IO口需要驱动这个LED,必须支持的最小输出电流至少为0.19mA。这个电流非常小,多个串口同时驱动多个LED,压力也没那么大。
# Q }4 U: G) e但是假如你用的这个ICIO口最大输出电流只有0.1mA,还是无法满足怎么办,那么就需要NPN+PNP两个三极管组合来解决了。 参照上图,如果只用一个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了。 ; y3 p" g% I& W
|