本帖最后由 followme001 于 2013-4-18 14:07 编辑
是这样的,我打算用STC11F04E的三个I/O口P1^2,P1^5,P1^6来驱动三路红色LED,每一路都有三个红色LED。下图为了简化,每一路都只画了一个出来。
现在的问题是我在软件里输出高电平,每一路LED都只会微亮,用镊子短路三极管的CE极,才会全亮。我知道这是单片机输出高时驱动能力不足所引起的。
可以换用PNP三极管,但我手头上只有NPN9013这个管子。
我也试过改用强推挽输出的方式,程序如下:
sbit R1 = P1^2;
sbit R2 = P1^5;
sbit R3 = P1^6;
void main(void)
{
P1M1 = 0x00;
P1M0 = 0xFF;
while (1)
{
R1 = 1;
R2 = 1;
R3 = 1;
}
}
可以达到全亮了,但是我有一点搞不懂,这个强推挽方式,说是可以提供20ma的电流,是每一个管脚同时提供20ma,还是分时的(同一时刻只有一个管脚)提供呢?
上电气特性表:
如果是同时提供的,那就是3X20ma = 60ma,那不就超过了上表的ICC值了么?
|