单片机GPIO配置为输入浮空外部电路为何需要上拉电阻

上拉电阻

在这里插入图片描述
在使用微控制器 (MCU) 或任何数字逻辑设备时,上拉电阻器非常常见。本教程将解释何时何地使用上拉电阻,然后我们将做一个简单的计算来说明为什么上拉很重要。

推荐读物
在继续之前您应该熟悉的概念:

· 什么是电路?
· 电阻器
· 电压、电流、电阻
· 数字逻辑
· 输入输出

*什么是上拉电阻

假设您有一个 MCU,其中一个引脚配置为输入。如果没有任何东西连接到引脚并且您的程序读取引脚的状态,它是高电平(拉到 VCC)还是低电平(拉到地)?这很难说。这种现象称为浮动。为防止出现这种未知状态,上拉或下拉电阻器将确保引脚处于高电平或低电平状态,同时还使用少量电流。
上拉通常与按钮和开关一起使用。
在这里插入图片描述
使用上拉电阻,当按钮未按下时,输入引脚将读取高电平状态。换句话说,少量电流在 VCC 和输入引脚之间流动(不接地),因此输入引脚读数接近 VCC。按下按钮时,它将输入引脚直接接地。电流通过电阻器流向地,因此输入引脚读取低状态。请记住,如果电阻器不存在,您的按钮会将 VCC 接地,这是非常糟糕的,也称为短路。
那么你应该选择什么阻值的电阻呢?
简短而简单的答案是,您需要一个 10kΩ 量级的电阻值用于上拉。

低电阻值称为强上拉(更多电流流过),高电阻值称为弱上拉(较少电流流过)。
在这里插入图片描述
选择上拉电阻的值需要满足两个条件:

按下按钮时,输入引脚被拉低。电阻器 R1 的值控制您希望从 VCC 流出多少电流,通过按钮,然后流向地面。

当按钮未按下时,输入引脚被拉高。上拉电阻的值控制输入引脚上的电压。

对于条件 1,您不希望电阻器的值太低。电阻越低,按下按钮时使用的功率就越大。您通常需要一个大电阻值 (10kΩ),但又不希望它太大而与条件 2 冲突。4MΩ 电阻可能用作上拉,但它的电阻太大(或太弱)以至于它可能不会 100% 地完成它的工作。

条件 2 的一般规则是使用比输入引脚的输入阻抗 (R2) 小一个数量级 (1/10) 的上拉电阻 (R1)。微控制器上的输入引脚具有 100k-1MΩ 的阻抗。在本次讨论中,阻抗只是电阻的一种奇特表达方式,在上图中用 R2 表示。因此,当按钮未被按下时,极少量的电流会从 VCC 通过 R1 流入输入引脚。上拉电阻 R1 和输入引脚阻抗 R2对电压进行分压,该电压需要足够高以使输入引脚读取高电平状态。

例如,如果上拉 R1 使用 1MΩ 电阻,输入引脚的阻抗 R2 约为 1MΩ(形成分压器),则输入引脚上的电压将约为 VCC 的一半,并且微控制器可能不会记录处于高状态的引脚。在 5V 系统中,如果电压为 2.5V,MCU 在输入引脚上读取什么?是高还是低?MCU 不知道,您可能会读到高值或低值。R1 的 10k 至 100kΩ 电阻应该可以避免大多数问题。

另外需要指出的是,上拉电阻越大,引脚对电压变化的响应就越慢。这是因为给输入引脚供电的系统本质上是一个电容加上上拉电阻,从而形成一个RC滤波器,而RC滤波器需要一定的时间来充电和放电。如果你有一个非常快速变化的信号(如 USB),高值上拉电阻可以限制引脚可靠地改变状态的速度。这就是为什么你会经常在 USB 信号线上看到 1k 到 4.7KΩ 的电阻。

计算上拉电阻值

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值