关于51单片机输入/输出口电压和电流以及加驱动电路的问题

各位好,我在查找用51单片机I/O模拟电压和电流以及用三极管驱动相关资料时看到下面的三种不同表述,请问哪一种是正确的呢,希望高手能综合点解释一下,谢谢!!
1、51单片机I/O口为集电极上拉输出方式,高电平输出电流等于上拉电阻的电流,这个电流比较小,低电平输出是内部晶体管吸收的电流,最大可以达到10mA,但是整个端口的总电流不能超过24mA。
电平低于0.7V就是低电平,高于1.8V就是高电平。在这个之间不确定。
2、51单片机的I/O口可以理解为一个开路的NPN三极管加一个上拉电阻,驱动PNP三极管最方便,驱动NPN三极管也没有问题,是靠上拉电阻驱动,所以不好。况且51单片机复位时所有I/O口是高电平,就造成NPN三极管导通,这在大多数电路里是不允许的。
复位时,I/O口为高阻的单片机驱动三极管就无所谓了。
3、51系列单片机引脚电平与TTL电平兼容,也就是输入高电位大于2.0V,低电位小于0.8V,输出高电位大于2.4V,低电位小于0.4V。一般情况下,若电源电压为5V,输出高电位电压也是5V左右,低电位电压接近0V.
看上面的第三种论述好象还需要区分输入和输出两种情况,我都晕了。。。。
上面的论述中提到了输入和输出两中情况,输入是指象电源等这样的输入还是说P口从外部读取数据时的“输入”?而输出就应该是P口正常的输出了吧?

作为输出端口:P0可吸收可输出电流,多大不是很清楚,驱动LED没问题,驱动NPN、PNP三极管都没有问题。
P1P2P3只能吸收电流,不能输出电流(如第一种说法中提的“这个电流比较小”,而第二种说法里的“驱动NPN三极管也没有问题”就需要实验证明一下了,因为这个电流实在太小了),如特别需要,可外接上拉电阻。
输出电流指得是输出1时带负载,吸收电流指得是输出0时带负载。
另外不同厂家的51单片机具体参数可能不同,不同型号的也不同。
我说的指的是ATMEL的AT89S51,至于Intel的MCS51早停产了,估计要找也不到了。

第三种说法:输入指的是端口做输入端口,比如P0.1做输入,你会给它一个电压,它根据你给的电压是大于2.4V还是小于0.4V来判断你给的是1还是0信号。而输出指的是你将P0.1口作为输出口时:输出1,P0.1引脚的电压接近于这个单片机的电源电压,输出0,P0.1电压接近于0V。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答