微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机I/O口的状态

单片机I/O口的状态

时间:11-22 来源:互联网 点击:
单片机有很多引脚,这些引脚负责控制外面的设备。图2-47所示的是用Vcc驱动LED小灯,这个LED小灯可以用发光二极管或者是数码管。

图 2-47 点亮一个发光二极管的电路图

现在当我们把GND去掉,换成I/O口,把VCC去掉,换成I/O口。当I/O口输出大电流时,它是有一定的要求的,把单片机的这个I/O画出来了,如图2-48所示。

图 2-48 单片机引脚内部原理图

这个是单片机的一个I/O口,方框里是单片机的内部,方框外是单片机引脚外部,内部和三极管的原理是一样的,所以我们用三极管来说明,当单片机输出一个高电平时,三极管不会导通,外部也输出一个高电平;当单片机输出一个低电平时,三极管导通,外部I/O口就输出一个低电平。在输出高电平时,这里有一个电阻。

表2-4是I/O口工作类型的设定参数表。

表 2-4 I/O口工作类型的设定参数

从图2-49中可以看到I/O口是准双向口,它是可设的,是可编程的。这就是说,我们内部可以进行一个设置;另外,这个特殊功能寄存器在使用的时候,如果不进行设置,它默认的是00,也就是标准的准双向口,它的灌电流比较大,可以输入20mA,它的输出电流在250~160uA这个范围之内。大家要注意,单引脚灌电流达20mA,但是整体电流推进不要超过55mA,否则可能影响到单片机芯片的寿命。因此可以从这里看到,单片机是一个控制模块、控制中心,而不是一个驱动器。要避免给单片机输入或者是输出一个大电流,这是普通I/O口要注意的。这是一个强推挽输出,可以达到20mA。什么是推挽输出?先看图2-50。这个是一个普通的I/O口,是带上拉电阻的,是强推挽输出。

图 2-49 单片机引脚强推挽输出的内部原理图

这是一个内部总线,它几乎没这个上下拉电阻,一但内部总线输出一个高电平,三极管就导通了,导通后这个电流就下来了,这里是高电平。这是一个反相器,是一个低电平。下面这个三极管是截止的,电流就直接从上面的三极管直接输出了,若没有限流电阻,则这个电流是非常大。因此,外部需要加限流电阻,要注意,若不接上拉电阻,也有可能烧坏单片机的引脚。当低电平时,上面的三极管是戒截止的,一但产生低电平,经过反相器,第二个三极管接的是一个高电平,三极管导通,这个三极管输出电流也是非常大的,因此外部也要加限流电阻,这个是一个强推挽输出。

下面介绍开漏,又叫开集。内部总线经过一个反相器,原理图如下图2-50所示。

图 2-50 单片机引脚开漏输出内部原理图

假设是一个高电平经过反相器变成低电平,电路内部没有上拉电阻,即使是高电平,三极管导通也不会输出一个高电平,还是输出一个低电平。因此开漏的时候,外部一定要加上拉电阻,它才有可能输出高电平,不加上拉电阻,它就不会输出高电平。比如说我们这个89C51的P0口就是一个开漏的双向I/O口,写1的时候,P0口悬浮,可用作高阻态输入。如果说写1,外部没上拉电阻,还是一个悬空的,不可能输出一个高电平,所以外部一定是要加一个上拉电阻。它的作用也很多,比如在实际运用系统中,要避免直接接高电平,可以在做电平转换时,使用这条电路。一个5V的系统要控制一个12V的系统时,用5V的电平控制三极管的导通,一但导通了,外部就是12V,则进行了一个电平的转换。在这里要避免单片机直接接外部电路,要进行电平的转换。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top