一、认识三极管
三极管拥有3个引脚,分别对应3个级:基极(Base)、发射极(Emitter)、集电极(Collector),如下图所示;下图横向左侧的是基极,带箭头的那个引脚就是发射极,另一个就是集电极。
箭头从发射极指向基极的三极管是PNP型三极管,也就是箭头指向内部的三极管;
箭头从基极指向发射极的三极管就是NPN型三极管,也就是箭头指向外部的三极管;


二、三极管的工作状态
三极管有饱和、截止、放大 3 种工作状态,放大主要用于模拟电路,用于电路放大,有点复杂,在单片机这种数字电路的应用就没必要深究了,不然搞不明白容易走火入魔。数字电路主要使用到三极管的开关特性,即饱和状态与截止状态。
三、三极管是如何工作的
三极管使用的关键在于基极B和发射极E之间的电压情况,对于 PNP 型三极管,发射极E的电压高于基极B的电压0.7V以上,发射极E与集电极C之间就可以导通,也就是说,起控制作用的是基极B和发射极E之间的电压差,被控制的是发射极E和集电极C是否导通。同理,对于NPN 型三极管,基极B端比发射极E端高0.7V以上,就可以使发射极E与集电极C导通。
四、三极管的用法

1、电压导通法:
如上图所示,
通过单片机引脚P2_0与三极管配合一起来控制LED19的亮灭;
三极管Q13的基极通过电阻10k的电阻R33,连接至单片机 IO 引脚P2_0;
发射极E直接接5V的电源;
集电极C接LED19和一个1k的限流电阻R34,并最终连接到电源负极GND。
如果单片机 引脚P2_0输出高电平1,也就是输出5V的电压,三极管Q13的基极B和发射极E都是5V,此时不会产生任何压降,
发射极E和集电极C之间不会导通,发光二极管LED19是无法点亮。
当单片机 P2_0引脚输出低电平0,也就是0V,由于此时发射极E依然是5V,集电极B与发射极E之间产生压差,发射极E与集电极C被导通。
三极管集电极B与发射极E之间,其自身会产生0.7V左右压降,
此时电阻R33上承受的电压为 5V - 0.7V = 4.3V。
三极管发射极E与集电极C之间,其自带的0.2V压降可以忽略不计,而后面的发光二极管LED19回产生一定的压降,不同的发光二极管是不一样的,比如某个发光二极管的压降是2V,此时限流电阻R34上的压降应为 5V - 2V = 3V,
LED中流过的电流与R34上流过的电流是一样的,可以这样算 3V/1000Ω = 0.003A = 3mA,可以满足LED34的工作电流并且正常点亮。
2、电流控制法:
三极管有截止、放大、饱和三种状态,其中截止是指集电极B与发射极E之间不导通,这里枝讨论导通的情况;
要想让三极管处于饱和状态必须要满足一个条件:集电极B的电流必须大于发射极E与集电极C之间的电流值除以三极管放大倍数,
常用三极管放大倍数约为100,比如下面的一款三极管放大倍数是120到400之间,我们计算还是按100的放大倍数来计算。

接下来计算一下R33的阻值。
发射极E与集电极C之间的电流为3mA,那么基极B的电流最小就是3mA / 100 = 30uA。由于基极电阻承受的电压为4.3V,那么基极电阻最大取值应为 4.3V / 30uA ≈ 143千欧,电阻取值只需要比这个值更小即可,但是也不能太小,否则电流通过电流过大会烧坏单片机或三极管。
STC单片机的引脚的理论最大输入电流在25mA左右,实际最好不要超过10mA,那么基极的R33电阻取值必须大于4.3V / 10mA ≈ 430Ω,即R33的阻值应该介于430欧与14.3千欧之间,所以选择10千欧是可以的。