在电路设计中,我们把连接到VCC的电阻叫做上拉电阻,把连接到GND的电阻叫做下拉电阻。而在数字电路中,信息是通过数学逻辑“1”和“0”l来表示的。在模拟电路转数字电路中,我们把高电平定为“1”,低电平定义为“0”。在电路设计时如果存在未知的状态,这将对数字信息的产生不确定的因素,因此在电路设计中上拉电阻和下拉电阻可以消除这些不确定的因素。
一、输入电路
- 按键电路为例
轻触开关没有按下时,电路图B中由于输入端口B由于受上拉电阻影响,电平为确定的高电平;在电路图A中由于没有上拉电阻输入端口A的电平是未知的
同理,在电路图C中没有加入下拉电阻,在轻触开关没有按下时,输入端口C却是未知状态。电路图D加入了下拉电阻,输入端口D受下拉电阻影响,可以确定为低电平。
单片机的输入端口一般可以设置为内部上拉或者下拉,此时,外部的上拉或者下拉电阻可以省略,但有些单片机输入口是开漏输入的,这时候就要在外部放置上拉或者下拉电阻了。
二、输出电路
2、三极管电路
电路图A没有加入上拉电阻,输出的电平信号也是未知的;在电路图B中 存在上拉电阻,输出端口B受上拉电阻影响,当三极管导通时,输出端口B为低电平,三极管截止时,输出端口B为高电平
电路C没有加入下拉电阻,输出端口C的状态也是未知的;电路图D中存在下拉电阻,输出端口D在三极管导通时为高电平,三极管截止时为低电平。
三、实际应用
(1)以三极管驱动继电器为例
建议在三极管的基极(b)加入下拉或者上拉电阻,NPN型三极管加入下拉,PNP型三极管加入上拉电阻。在没有驱动信号的时候,加入上拉电阻或者下拉电阻,可以有效的钳制三极管的基极(b)的信号,避免意外导通。
(2)三极管驱动LED
建议在三极管的基极(b)加入下拉或者上拉电阻,NPN型三极管加入下拉,PNP型三极管加入上拉电阻。如果没有加入上拉电阻或下拉电阻,在三极管截止的时候,按理LED是熄灭的,但当三极管基极(b)有微弱感应信号时,三极管会微弱导通,导致LED有微弱发光的情况。