1.上拉电阻

上拉电阻的官方定义是这样的:将不确定信号钳位在高电平的电阻。 OK, 不要慌,让我们用一个简单的实例来辅助理解。

首先,来理解一下高低电平。我们都知道在数字电路中,只有两种状态,要么是高电平(一般单片机中是5V),代表逻辑1;要么是低电平(0V,即GND),代表逻辑0。举个例子,假如你要点亮Arduino单片机2号引脚的一个LED灯,你需要的一行代码是 digitalWrite(2,1); 熄灭它,你需要的一行代码是 digitalWrite(2,0);

上拉下拉电阻_嵌入式硬件

现在,我们在此基础上添加更多功能。把单片机的5号引脚作为输入,如果5号引脚接收到高电平,就点亮2号引脚的LED灯;如果5号引脚接收到低电平,就熄灭2号引脚的LED灯。如果输入电平是这样(a段),当然没问题,很和谐,但如果是这样(b段),完了,这是啥?2V?3V?这到底算低还是算高?单片机彻底懵圈,不知所措。咋办呢?所以就有了上拉电阻。 As the name suggests, 上拉电阻就是把像b段这样的不稳定电平上拉至高电平。那这是如何实现的呢?请继续往下看。

上拉下拉电阻_上拉电阻_02

这是一个典型的上拉电阻。

上拉下拉电阻_上拉电阻_03

画一个等效电路图可以帮助我们理解。

上拉下拉电阻_引脚_04

加上拉电阻相当于加一个并联电阻,根据高中物理常识,输入电平明显增高,很接近5V,于是就这样被拉成高电平了。这下可以理解上拉电阻的定义了吧:将不确定信号钳位在高电平。

2.下拉电阻

同理,我们可以理解下拉电阻,原电路与等效电路如图。

上拉下拉电阻_单片机_05

——————————————————————————END