💡 电路名称
上拉/下拉电阻电路(Pull-up / Pull-down Resistor Circuit)
昨天我们讲了 稳压管稳压电路 —— 用 R1 + 稳压管 D1 把不稳定的电压稳稳钉在 Vz。你有没有想过:它之所以能稳压,本质就是"R1 与稳压管动态电阻 Rz 的分压"。而分压这个最朴素的思想,今天会在数字电路里迎来第一次实战:单片机的一个输入引脚什么都没接,读到的电平却忽高忽低、乱跳? 或者 按键接上后不按的时候输出不稳定? 这就是"悬空输入"问题 —— 而解决方案,就是今天的主角:上拉电阻 / 下拉电阻。
其实它们的本质就是分压:
上拉: VCC → R_pullup → 输入引脚 → (按键) → GND 下拉: VCC → (按键) → 输入引脚 → R_pulldown → GND
一个电阻,一端接电源(上拉)或接地(下拉),另一端接输入引脚 —— 给引脚一个确定的"默认电平":上拉默认高电平(1),下拉默认低电平(0)。这是所有数字电路、单片机开发板、I2C/SPI 总线上最常用的小元件,一个电阻就能解决悬空输入导致的误触发、耗电、不稳定问题。
昨天的稳压管稳压(R1 + Rz 分压 → Vout≈Vz)是模拟电路的经典分压应用;今天的上拉/下拉是分压思想在数字电路中的第一次实战(电阻 + 开关/高阻抗 = 分压)。明天(Day 09)可以进入二极管限幅等更有趣的电路。
🗺️ 电路图
4 个元件,两种接法对比一目了然:

电路连接:
|
|
|
|
|---|---|---|
|
|
高(5V) | 低(0V) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
核心规则:
上拉电路: VOUT = VCC(开关断开时)| VOUT = 0V(开关闭合时) 下拉电路: VOUT = 0V(开关断开时)| VOUT = VCC(开关闭合时) 默认电平 = 电阻所接的电压(上拉=高,下拉=低)
典型算例(本电路参数,R = 10kΩ):
-
按键断开时 VOUT(上拉)= 5V,流过 R1 的电流 I = 5V / 10kΩ = 0.5 mA -
按键按下时 VOUT = 0V,流过按键的电流 I = 5V / 10kΩ = 0.5 mA - 功耗
:静态时 P = 5V × 0.5mA = 2.5 mW(很小,可忽略)
💡 关键观察:上拉/下拉电阻的阻值决定了"默认电平的强度"和"静态功耗"。阻值越大 → 越省电,但抗干扰越差、边沿越慢;阻值越小 → 边沿越快、越稳,但越耗电。常用值:4.7kΩ / 10kΩ(单片机 I/O)、1kΩ~4.7kΩ(I2C 总线,速度要求高时用小的)。
🌊 输入/输出波形对比
图 1:按键时序 —— 上拉 vs 下拉的逻辑电平

关键观察:
-
🔵 上拉电路(上图):默认 5V,按键按下(30~60ms)瞬间跌到 0V,松开后立刻恢复 5V -
🔴 下拉电路(下图):默认 0V,按键按下瞬间升到 5V,松开后回到 0V -
💡 核心结论:两种接法逻辑完全互补 —— 上拉="默认 1,按下变 0"(Active-Low),下拉="默认 0,按下变 1"(Active-High) -
⚠️ 如果没有这两个电阻:按键松开时输入引脚悬空,电平会漂移不定(受手指/电磁干扰影响),逻辑芯片读到的值随机 —— 这就是必须加电阻的原因!
图 2:不同上拉电阻值的上升沿(RC 充电效应)

关键观察:
-
🔵 1kΩ(τ=0.1µs):上升沿极陡,几乎瞬间到达 5V -
🟠 10kΩ(τ=1µs):上升沿变缓,但仍在可接受范围 -
🟣 100kΩ(τ=10µs):上升沿非常缓慢,需要 5.1µs 才爬到 TTL 高电平门限 2.0V —— 对高速信号这是致命伤! -
💡 物理本质:输入引脚总有寄生电容(约 5~100pF),上拉电阻 R 与它构成 RC 充电回路,上升时间 ≈ 2.2·R·C(从 10% 到 90%) -
📏 TTL 门限:低电平 <0.8V,高电平 >2.0V。R 太大 → 信号爬得慢 → 在门限附近抖动 → 误判
🔬 LTspice 真实仿真(VCC=5V,按键 + 寄生电容 100pF,R 三档 .step)
📐 LTspice 仿真电路原理图


