三极管基极的一些控制方法很多人应该熟悉,在电压之间的转换控制也是三极管的控制方式之一。
三极管的控制工作电路原理图
如上图,假设单片机IO接口为5V电压,那么当该单片机接通12V电压后,单片机肯定会被烧坏。此时我们增加一个三极管,三极管的电压需高于IO口电压(>5V)。那么就可以用5V的IO口子来控制12V的电路。当IO口的输出高电平在5V时,那么三极管则导通,此时OUT输出的电平为0V。而当IO口输入的电平过低时,三极管则不导通,此时OUT会因为电阻R2的作用而输出12V的高电平。这就是三极管低电压控制高电压工作原理。
两个不同方式控制LED灯电路图
上图为两个LED灯的控制对比。此时(上图)如果IO口进入电压为高电平,则LED灯熄灭;而IO口如果输出的是低电平,那么LED灯亮起。而下图,按正常逻辑,IO口与上图对比,输出高电平时,则会有电流流通,那么此时的LED灯应该是亮起,但是,实际操作并非如此。
此时应该把单片机的特性考虑进去,单片机作为一个控制元器件,虽然具有杠杆一样,能够依靠一个支点而撑起整个电路,但是并没有足够的力量去承受。虽然IO输出高电平,只是通过的电流是有限的,正常情况下,一个普通IO口输出的高电平只有几十到几百的uA电流,根本无法达到1mA。而LED灯点亮需要的电流却要高于流入的电流。
如果想要利用高电平来让LED灯亮起,则需要通过三极管进行放大处理。
接通三极管后的IO高电平点亮LED灯电路图
如上图所示,此时的IO口依然是高电平输出,接通的三极管导通后,电流被放大,C级电流能够被放大到1mA以上,那么LED灯即可在高电平下被点亮。
也许有初学者会问:既然低电平输出IO口就可以点亮LED灯,那么,是不是单片机的IO口只要作为低电平,输入的电流就可以大一点?首先,单片机的IO口是有电流承受能力的,前面也讲到它是没有足够的支撑力量的,而承受力受板子型号影响,不同的板子承受力不一样,正常单片机的工作电流不要超过50mA,注意,这是指整个单片机,而单个IO口的电流最好不要超过6mA。