芯片p1.6口 直接连接的npn三极管的b级, c级接gnd E级连接继电器一个接口 继电器上面的接口接的vcc;
这个表述与所配电路图不符;
端口的驱动能力看的是灌电流和拉电流的大小,电流越大自然表现为驱动能力越强;
图示可知,PIO口的输出能力是在输出低电平时,就是管子饱和导通时的灌电流会很大,通常都在10mA以上,而输出高电平时,管子截止了,那么输出能力就是看上拉电阻了,阻值越小能力相对就越强,即是其拉电流由上拉电阻决定;
为此,你也可以做这样的改动,如图;
你好,51单片机的IO口,P1口,内部是一个三极管接地和一个上拉电阻,上拉电阻是几十k,所以输出高电平的电流是很小的,接NPN三极管驱动不了大电流的继电器是正常的。
正确的接法应该是用PNP三极管,基极b极接P1.6口,发射极e极接VCC,集电极接继电器,继电器另一端接地。在P1.6口输出低电平的时候PNP三极管导通。此时IO口内部是通过三极管接地的,所以驱动能力很大,驱动继电器没问题。
你试验上位电阻的方法正好证明了这一点,内部上位电阻几十k,电流太小,你在外部上拉1个1k的,驱动电流就合适了,才能驱动继电器。但是上位电阻太小,长期用有可能电流太大损坏IO口