51单片机p1口驱动三极管问题

用51单片机驱动5v继电器
芯片p1.6口 直接连接的npn三极管的b级, c级接gnd E级连接继电器一个接口 继电器上面的接口接的vcc
现在的情况是 Io口置1后 三极管b级量的电压为0.4v左右 驱动不起来三极管
试了几个方法
1串个1k限流电阻,但是没用,电压还是0.4
2io口增加上拉电阻 实验10k 4.7k 1k
最后实验到1k的时候 三极管成功驱动起来继电器,也能关闭
虽然暂时成功了,但是很不理解
按理说p1io口驱动三极管应该是电压电流过大,得串限流电阻最好,为什么会出现驱动不起来呢

上拉电阻一般都在4.7-10k 就算用p0口驱动都绰绰有余,为什么还是驱动不起来 只有减1k的电阻才能驱动起来

三极管封装是to236的 帮忙解答一下

芯片p1.6口 直接连接的npn三极管的b级, c级接gnd E级连接继电器一个接口 继电器上面的接口接的vcc;

这个表述与所配电路图不符;

端口的驱动能力看的是灌电流和拉电流的大小,电流越大自然表现为驱动能力越强;

图示可知,PIO口的输出能力是在输出低电平时,就是管子饱和导通时的灌电流会很大,通常都在10mA以上,而输出高电平时,管子截止了,那么输出能力就是看上拉电阻了,阻值越小能力相对就越强,即是其拉电流由上拉电阻决定;

为此,你也可以做这样的改动,如图;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-24
你好,51单片机的IO口,P1口,内部是一个三极管接地和一个上拉电阻,上拉电阻是几十k,所以输出高电平的电流是很小的,接NPN三极管驱动不了大电流的继电器是正常的。
正确的接法应该是用PNP三极管,基极b极接P1.6口,发射极e极接VCC,集电极接继电器,继电器另一端接地。在P1.6口输出低电平的时候PNP三极管导通。此时IO口内部是通过三极管接地的,所以驱动能力很大,驱动继电器没问题。
你试验上位电阻的方法正好证明了这一点,内部上位电阻几十k,电流太小,你在外部上拉1个1k的,驱动电流就合适了,才能驱动继电器。但是上位电阻太小,长期用有可能电流太大损坏IO口
相似回答