C51单片机的IO口介绍(下)

描述

上一篇文章我们对C51的IO简单的介绍了一下,现在我们来简单了解C51的IO的结构

这里我们学习一下比较常见的单片机的IO模式,分别是准双向,开漏输出和推挽输出

(这里要提一嘴,我们用的STC88C52RC是没有推挽输出功能的,STC公司后续推出的一些机型才有推挽输出功能)

接下来我们来看看这几种模式

1.准双向

看看下面的原理图,机内信号通过一个非门取反后送入一个MOS管,MOS管负责控制这个IO的高低电平,配合内部上拉电阻完成高低电平的输出

MOS管

为了方便我们分析,我们把这个MOS管看成一只NPN三极管。区别是三极管靠电流导通,MOS管靠电压导通

MOS管

结合前面我们讲过的知识,对于一只NPN三极管,基极b电压比集电极c电压大0.7V的时候,三极管发射极e与集电极c之间导通

准双向输出高电平

当机内给高电平信号的时候,经过非门取反,得到低电平信号,在这里我视作0V,非门取反后直接接到三极管b极,相当于b极电压0V,三极管的c极接地,视作0V。此时由于b极电压与c极电压差小于0.7V,三极管截止

MOS管

电源正极的电流就经过内部上拉电阻流向c极,只有一路电流从正极到上拉电阻再流出IO,这时候相当于IO接入高电平

准双向输出低电平

当机内给低电平信号的时候,经过非门取反,得到高电平信号,在这里我视作5V,非门取反后直接接到三极管b极,相当于b极电压5V,三极管的c极接地,视作0V。此时由于b极电压与c极电压差达到0.7V以上,三极管导通

MOS管

电源正极的电流就经过内部上拉电阻流向c极,c,e之间导通,所以直通,一直流至负极。另一路电流从外部IO经过三极管的C极,再流向e极,最后流至地,实现接低

这时候我想你会问,那电流为什么不从vcc流向电阻,最后流出IO呢?我想说,我相信你高中的时候学过,电流总是从正极流向负极。我们来观察,在这个电路里面,正极的电流已经流向负极了,IO这一路电流也流向负极,也就实现了低电平输出

2.开漏输出

开漏输出的结构如下

MOS管

细心的朋友已经发现了,开漏输出的电路结构跟准双向的区别就是没有内部上拉电阻

内部输出0的时候,原理跟准双向输出相同

MOS管

但是如果内部输出为1的时候

MOS管

这时候IO是悬空状态,相当于IO跟单片机断开了

如果需要输出高电平,这时候就需要外部上拉电阻

MOS管

3.推挽输出(了解)

所谓的推挽,就是指使用两个三极管或者MOS管交替地将信号推到正和负极性,实现放大的效果

推挽输出的电路结构

MOS管

在这个结构中,两个MOS管配合,实现推挽输出,最大的特点就是输出电流够大(大约20mA)

在这里,T1 MOS管可以看成PNP三极管,T2 MOS管可看成NPN三极管

MOS管

输出高电平的原理:

内部输出高电平信号经过非门取反,送到两个三极管的b极,上面的PNP三极管导通,下面的NPN三极管截止,电流从VCC流过PNP管,流出IO。

MOS管

输出低电平的原理:

内部输出低电平信号经过非门取反,送到两个三极管的b极,上面的PNP三极管截止,下面的NPN三极管导通,IO电流经过NPN三极管流过地,实现输出低电平

C51的IO模式

​我们的AT89C52单片机只支持开漏输出和准双向输出

P0组IO只支持开漏输出,仔细观察,你的开发板上的P0组IO是不是有一排上拉电阻?

MOS管

P1,P2,P3支持准双向IO输出

这些是单片机设计的时候就配置好的

我们无法修改,但是根据不同IO组的输出功能进行合理利用,依旧能达到我们想要的效果

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分