• 跳至主要导航
  • 跳到主要内容
  • 跳到主要侧边栏
  • 跳到页脚

单片机技巧

微控制器工程资源,微控制器新产品和电子工程新闻

  • 产品展示
    • 8-bit
    • 16-bit
    • 32-bit
    • 64-bit
  • 应用领域
    • 汽车行业
    • 连接性
    • 消费类电子产品
    • 产业
    • 医疗类
    • 安全
  • EE论坛
    • EDABoard.com
    • Electro-Tech-Online.com
  • 影片
    • TI单片机视频
  • EE资源
    • 快速设计
    • 电子书/技术提示
    • 常见问题
    • LEAP奖
    • 播客
    • 网络研讨会
    • 白皮书
  • EE学习中心

如何使用上拉电阻将开关连接到微控制器

2016年10月3日 通过 斯科特·桑顿 发表评论

如果要将按钮或开关用作微控制器(MCU)上的输入,则可以使用“上拉电阻”,以便在((常开))开关或按钮闭合时,该输入被视为逻辑高电平。上拉电阻连接到Vcc或输入为逻辑高电平,因此将引脚上的值“上拉”为高电平。当开关闭合时,相应的程序或软件将需要将常开(N.O.)开关的状态匹配为高。“Normally open”就是这样它的自然状态是打开的,直到您关闭开关。

对于某些MCU,MCU本身可能以与用于输入的电源电压(例如3.3v)不同的电源电压(例如Vcc = 5v)运行,因此请确保您知道引脚可以处理的电压。您可以在Arduino UNO上连接上拉电阻,如下所示:

 pullupdi4_nobutton_r2
图1:Arduino UNO Rev 3的数字输入4上的上拉电阻。(在fritzing.org上使用免费工具绘制)

如果没有上拉电阻,则您的输入仍将读取状态,但是尚不清楚其状态为高电平还是低电平,因为实际上没有分配任何状态。如果您的MCU具有内部上拉电阻,则例外。当没有任何东西与引脚相连时,通常将其称为“浮动引脚”,因为它没有分配的高/低状态,并且如果引脚保持悬空状态,则噪声会随机影响引脚上的电压电平。

在图1中,如果您按下按钮,则该引脚将接地,并且它不短路至5v电源的唯一原因是由于上拉电阻。当按钮在正常状态下打开时,您的输入将看到5v附近(上拉电阻的压降可忽略不计)。

您使用什么值的上拉电阻?这取决于MCU。通常,您将使用一个数量级的上拉电阻 降低 比在MCU数据表中声明的输入阻抗(对于UNO板,这就是ATmega328P数据表。)对于上面的Arduino UNO的示例,一个 建议上拉10kΩ。

下拉电阻具有相同的阻抗值,但与上拉电阻相反。电阻接地,输入拉低。相应的软件将需要反映差异,并且开关的操作(如常开或常闭)也将影响整个设置的逻辑。

提起下: 常问问题 , 微控制器 , 训练 标签: 基本 , 常问问题

读者互动

发表评论 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *

主侧边栏

快速设计

组件选择变得简单。

今天尝试
 设计快速的globle

EE培训中心教室

“ee

“ee

“ee

“ee

订阅我们的新闻

订阅每周行业新闻,新产品创新等等。

 立即订阅

 的RSS 当前的EDABoard.com讨论

  • ZYBO上的电源连接器
  • 交流到交流电源适配器的替代品
  • STM32与PIC24
  • 线性AC / DC电源设计-基本问题
  • 保护MCU输入?

 的RSS 当前Electro-Tech-Online.com讨论

  • PIC开发板建议
  • Tacho反馈到555 pwm电动机速度控制
  • 为运行移动电源的LED灯提供建议
  • 需要知道
  • 带XC8编译器的PIC18直接存储器访问

在推特上关注我们

MicroContrlTips的推文

页脚

 单片机技巧

EE World在线网络

  • 快速设计
  • EE World在线
  • EDA董事会论坛
  • 电子技术在线论坛
  • 连接器提示
  • 模拟IC技巧
  • 电力电子提示
  • 传感器提示
  • 测试和测量技巧
  • 电线电缆技巧
  • 5G技术世界

单片机技巧

  • 订阅我们的新闻
  • 与我们一起做广告
  • 联系我们
  • 关于我们
 在推特上关注我们  在Facebook上添加我们  在YouTube上关注我们  在Instagram上关注我们

版权© 2020 ·WTWH Media LLC及其许可方。版权所有。
未经WTWH Media事先书面许可,不得复制,分发,传播,缓存或以其他方式使用本网站上的资料。

隐私政策



      • <map class="H77kEoR"></map>
        <input id="flJIazT" class="fZcy7yC"><hgroup class="QRIAmdZ"></hgroup></input>

        • <nav id="nUS37jy" class="nZDgP9m"><noscript id="fZvGIkM"><blockquote id="wkKOwbt" class="w0hDJTI"></blockquote></noscript></nav>
        • <rt class="DV4rB8t"><textarea id="otkCrzK"><sup class="R8yDIg1"></sup></textarea></rt>