技术文档

单片机io口输出 单片机IO口科普:推挽输出,开漏输出详解

小编 2024-11-25 技术文档 23 0

单片机IO口科普:推挽输出、开漏输出详解

在学单片机和选用逻辑器件的时候我们常别人说这款芯片是推挽输出驱动能力强,这个引脚是开漏输出需要加上拉电阻。是不是有时候感觉一头雾水?今天就详解一下推挽和开漏,以后你买芯片的时候就可以和别人大声理论了。

1. 什么是推挽输出

推挽输出既可以输出低电平,也可以输出高电平,可以直接驱动功耗不大的数字器件。

2. 推挽输出电路的结构

推挽电路是由两个三极管或MOSFET,以推挽方式存在于电路中,电路工作时,两只对称的开关管每次只有一个导通,所以导通损耗小、效率高、既提高电路的负载能力,又提高开关速度。其示意结构如下图所示:

当内部输出1电平时,上边的MOS管导通同时下边的MOS管截至,IO口输出高电平;

当内部输出0电平时,上边的MOS管截至同时下边的MOS管导通,IO口输出低电平;

3. 什么是开漏输出

开漏输出只能输出低电平,如果要输出高电平必须通过上拉电阻才能实现。就类似于三极管的集电极输出。

4. 开漏输出电路的结构

如上图:

内部输出1时MOS管截止,输出与地断开,这时候IO口其实是没有驱动能力的,需要外部连接上拉电阻才能输出高电平,才能驱动数字器件;

内部输出0时MOS管导通,输出低电平,所以开漏能输出低电平;

5. 准双向IO

在学51单片机的时候老师告诉我们,51单片机的IO口是准双向的,什么是准双向的?示意如下:

其结构类似于开漏输出,只不过是把上拉电阻集成到了单片机内部。

6. IO口如何应用

对于推挽输出的IO口可以直接输出高低电平驱动功耗较小的数字器件,但对于开漏输出的话必须要在外部接上拉电阻才行。比如说LPC11C14单片机的片上I2C资源就是开漏输出的,如果要使用这两个引脚做输出就必须加上拉电阻,如下图所示:

本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。公众号:micropoint8

51单片机IO口的四种使用方法

传统51单片机IO接口只可以作为标准双向IO接口,如果用其来驱动LED只能用灌电流的方式或是用三极管外扩驱动电路。

灌电流方式:LED正极接VCC,负极接IO口。IO为高电平是LED两极电平相同,没有电流,LED熄灭;IO为低电平时,电流从VCC流入IO,LED点亮。但是当你吧LED正极接在IO接口,负极接GND时,将IO接口置于高电平,LED会亮,但因为IO接口上拉能力不足而使亮度不理想,可以用下面介绍的方式解决这个问题。

推挽工作方式:LED正负极分别接在两个IO口上,然后设置正极IO接口为推挽输出,负极IO接口为标准双向灌电流输入。推挽方式具有强上拉能力,可以实现高电平驱动LED。

IO口的四种使用方法

从I/O口的特性上看,标准51的P0口在作为I/O口使用时,是开漏结构,在实际应用中通常要添加上拉电阻1、P2、P3都是准双向I/O,内部有上拉电阻,既可作为输入又可以作为输出。而LPC900系列单片机的I/O口特性有一定的不同,它们可以被配置成4种不同的工作模式:准双向I/O、推挽输出、高阻输入、开漏。

准双向I/O模式与标准51相比,虽然在内部结构上是不同的,但在用法上类同,比如要作为输入时都必须先写“1”置成高电平,然后才能去读引脚的电平状态。!!!!!为什么是这样子?见下面分析。

推挽输出的特点是不论输出高电平还是低电平都能驱动较大的电流,比如输出高电平时可以直接点亮LED(要串联几百欧限流电阻),而在准双向I/O模式下很难办到。

高阻输入模式的特点是只能作为输入使用,但是可以获得比较高的输入阻抗,这在模拟比较器和ADC应用中是必需的。

开漏模式与准双向模式相似,但是没有内部上拉电阻。开漏模式的优点是电气兼容性好,外部上拉电阻接3V电源,就能和3V逻辑器件接口,如果上拉电阻接5V电源,又可以与5V逻辑器件接口。此外,开漏模式还可以方便地实现“线与”逻辑功能。

对于上面疑问的解释,有这样一个资料:

高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。

电路分析时高阻态可做开路理解。你可以把它看作输出(输入)电阻非常大。他的极限可以认为悬空。

高阻态的典型应用:

1、在总线连接的结构上。总线上挂有多个设备,设备与总线以高阻的形式连接。这样在设备不占用总线时自动释放总线,以方便其他设备获得总线的使用权。

2、大部分单片机I/O使用时都可以设置为高阻输入,如凌阳,AVR等等。高阻输入可以认为输入电阻是无穷大的,认为I/O对前级影响极小,而且不产生电流(不衰减),而且在一定程度上也增加了芯片的抗电压冲击能力。

相关问答

单片机 io口输出 电流最大是多少?

传统单片机一般为10ma左右,现在的单片机一般20-25ma,但多个IO口加起来总电流有限制,根据厂家和封装不同而变化,有的不能超200ma,有的不能超400ma如果外设要...

51 单片机io口 是什么有效?

51单片机上的IO口无所谓高低电平有效,高低电平有效是指触发条件,可以自设定的。只有P0口是OC输出的,需要外部加上拉电阻,其它端口都带有上拉。在单片机系统...

51 单片机 的P1.0口( IO口 ) 输出 高电平的C语言怎么写?

sbitP1.0=P1^0;//P1.0声明P1.0=1;//输出高电平P1.0=0;//输出低电平sbitP1.0=P1^0;//P1.0声明P1.0=1;//输出高电平P1.0=0;//输出低电...

51 单片机 5v供电,每个 IO口输出 电压是多少?

51单片机IO口输出高电平时,接近VCC,可以按VCC来计算。你使用5V供电,IO输出高电压平应该按5V计算。LED限流电阻=(5V-led工作时端电压)/led工作电流LED...

单片机IO口 的第二功能是什么??-ZOL问答

单片机IO口第二功能是:P0口的第二功能是数据/地址总线。P2口的第二功能是地址总线P3口的第二功能是控制总线,具体是:P3.0--RXDP3.1--TXDP3.2--外部中断0...

怎么用51 单片机 控制 输出 稳定连续的0~5V的电压?

51单片机IO口输出高电平时,接近VCC,可以按VCC来计算。你使用5V供电,IO输出高电压平应该按5V计算。LED限流电阻=(5V-led工作时端电压)/led工作电流LE...

stc104f100w 单片机io口输出 电流?

传统单片机一般为10ma左右,现在的单片机一般20-25ma,但多个IO口加起来总电流有限制,根据厂家和封装不同而变化,有的不能超200ma,有的不能超400ma如果外设要...

单片机 p0口和 io口 的区别?

功能不同。P口指的是“并行口”IO口指的是“输入输出口”P口当然可以作为IO口来用,但是通常P3口会用于他的第二功能,而P2口、P0口则经常被用作地址总线和数...

串行输入 输出 和并行输入 输出 的区别解析?

并行输入一般是将一串数据(如八位数据)先输入数据缓冲器,当数据达到八位时一同输入目的寄存器。而串行输入一般是将数据一位一位传输,通常这样的数据效率不...

单片机 一个 IO口 如何控制两颗发光二极管(LED)?

单片机的一个GPIO只能输出0和1两种状态,如果控制一个LED灯的话,可以实现LED的亮灭控制。两个LED具有四个状态:1)同时亮;2)同时灭;3)一个亮一个灭;4)一个灭...单...

猜你喜欢