浮空、开漏、推挽、上拉 / 下拉--单片机 /芯片引脚模式

底层模型

所有数字 IO 口,内部本质就是两个电子开关(MOS 管)

  • 上管 PMOS:一头接 VCC(电源)

  • 下管 NMOS :一头接 GND(地)中间连在一起,就是引脚 Pin

    复制代码
     VCC
      |
    [上开关]
      |

    ----引脚----
    |
    [下开关]
    |
    GND

不同模式,就是这两个开关怎么开、怎么关的区别

不同模式,就是这两个开关怎么开、怎么关的区别。


1. 浮空输入(Floating Input)

两个开关:全部断开

  • 上管:关
  • 下管:关

引脚既不接电源,也不接地,完全悬空。

特点:

  • 引脚是高阻态,几乎不耗电
  • 电平完全由外部电路决定
  • 外部没接线 → 电平乱飘、受干扰
  • 只适合有明确外部信号的输入

一句话:浮空 = 引脚悬空,谁来谁说了算,没人来就发疯。


2. 上拉输入 / 下拉输入

这两个其实是带电阻的浮空,为了防止乱飘。

上拉输入(Pull-up)

内部加一个电阻接到 VCC

  • 外部没信号 → 默认为高电平
  • 外部接 GND → 变低

下拉输入(Pull-down)

内部加一个电阻接到 GND

  • 外部没信号 → 默认为低电平
  • 外部接 VCC → 变高

用途:按键、拨码开关,防止引脚乱跳。


3. 推挽输出(Push-Pull)

最标准、最常用的输出模式

两个开关互斥工作

  • 输出高电平 → 上管开,下管关 → 直接接 VCC
  • 输出低电平 → 下管开,上管关 → 直接接 GND

特点:

  • 主动输出强高、强低
  • 驱动能力强
  • 不能多个芯片输出接同一条线(会短路打架)

一句话:推挽 = 既能强拉到高,也能强拉到低,力气大。


4. 开漏输出(Open-Drain)

只留下管,拆掉上管

  • 输出 0 → 下管开 → 强拉低
  • 输出 1 → 下管关 → 引脚浮空

自己出不来高电平,必须靠:

  • 外部加上拉电阻到 VCC
  • 电阻把线 "拽" 到高电平

特点:

  • 只能拉低,不能拉高
  • 多个开漏可以接同一条线(线与逻辑)
  • 方便做电平转换(3.3V ↔ 5V)

典型应用:I2C、OneWire、通信总线

一句话:开漏 = 只会往下拉,高电平靠外部电阻帮忙。


5. 开漏带上拉(Open-Drain + Pull-up)

有些单片机支持开漏 + 内部上拉相当于:

  • 开漏输出
  • 内部自带小电阻,不用外部接

适合简单低速通信。


6. 模拟输入(Analog Input)

彻底关闭所有数字电路,只给 ADC 采样。

  • 高阻
  • 不识别高低电平,只测电压

一张表彻底看懂

模式 上管 下管 能主动出高? 能主动出低? 典型用途
浮空输入 外部强驱动信号
上拉输入 关 + 电阻 按键
下拉输入 关 + 电阻 按键
推挽输出 可控 可控 LED、继电器、普通输出
开漏输出 可控 否(靠外部电阻) I2C、多设备共总线

最关键的三句总结

  1. 推挽:既能拉高也能拉低,力气大,不能共线
  2. 开漏:只能拉低,高靠电阻,适合多设备共用一根线
  3. 浮空:啥都不接,外部说了算,容易乱飘
相关推荐
点灯小铭13 分钟前
基于单片机的锅炉压力与温度监测报警系统设计
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
环境倒逼我学习15 分钟前
无人机地面站之第13章 Mission Planner 入门与界面总览
单片机·嵌入式硬件·无人机
大阳12325 分钟前
ARM.8(ADC,SPI)
单片机·嵌入式硬件·adc·spi
hoiii1871 小时前
基于 STM32 的标准遥控器架构与源码
stm32·嵌入式硬件·架构
少年、潜行1 小时前
STM32 ISP 升级体验
stm32·嵌入式硬件·isp升级·系统编程区域
杨连江1 小时前
一种三模式可调气隙式双侧定子滑移可变磁通轴向永磁电机
单片机·嵌入式硬件
Aaron158810 小时前
无人机反制中AOA+TDOA联合定位技术与雷达探测定位技术的应用对比分析
arm开发·嵌入式硬件·fpga开发·硬件工程·无人机·信息与通信·信号处理
foundbug99911 小时前
STM32 睡眠模式测试程序
stm32·单片机·嵌入式硬件
wxmtwfx13 小时前
littlefs 源码分析
单片机·littlefs·嵌入式文件系统
嵌入式小站14 小时前
STM32 零基础可移植教程 18:I2C 入门,先用扫描器找一找总线上有没有设备
chrome·stm32·嵌入式硬件