上拉和下拉电阻 [附:OC门与OD门]

2023-11-10

       上拉就是通过一个电阻将芯片的一个引脚或线路中的一点接电源正极(Vcc),将该处电平拉向高电平。下拉就是通过一个电阻将芯片的引脚或线路中的一点接地,将该处电平拉向低电平。其主要目的是在电路驱动器关闭时给引脚或线路节点一个固定的默认的电平。上拉电阻有时还用来增加输出引脚的驱动能力。当所接电阻值比较大时称为弱上拉或弱下拉,否则就是强上拉或强下拉。上拉电阻应用比较普遍,大部分OC或OD输出都需要接上拉电阻。单片机的大部分I/O引脚也配备了弱上拉电阻。


       附:OC门(集电极开路门),还有OD门(漏极开路门,对场效应管而言)。实际使用中,有时需要两个或两个以上与非门的输出端连接在同一条导线上,将这些与非门上的数据(状态电平)用同一条导线输送出去。因此,需要一种新的与非门电路 — OC门来实现“线与逻辑”。



集电极开路输出(OC)

       集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路。(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。

       对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。

       我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。

       再看图3。图3中那个1K的电阻即是上拉电阻,如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭合时电阻为0(方便我们讨论,实际情况中开关电阻不为0,另外对于三极管还存在饱和压降),所以在开关上的电压为0,即输出电平为0。如果开关断开,则由于开关电阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为0,因此在1K电阻上的压降也为0,所以输出端的电压就是5V了,这样就能输出高电平了。但是这个输出的内阻是比较大的(即1KΩ),如果接一个电阻为R的负载,通过分压计算,就可以算得最后的输出电压为5/(1+1000/R)伏。所以,如果要达到一定的电压的话,R就不能太小。如果R太小,而导致输出电压不够的话,那我们只有通过减小那个1K的上拉电阻来增加驱动能力。但是,上拉电阻又不能取得太小,因为当开关闭合时,将产生电流,由于开关能流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,因此要综合这些电流来考虑选择合适的上拉电阻。

       如果我们将一个读数据用的输入端接在输出端,这样就是一个I/O口了(51的IO口就是这样的结构,其中P0口内部不带上拉,而其他三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。

漏极开路(OD)

       对于漏极开路(OD)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。


开挽输出

       开挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起OC或OD来说,这样的推挽结构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的OC或OD输出则不会有这样的情况,因为上拉电阻提供的电流比较小。如果是推挽输出的要设置为高阻态时,则两个开关必须同时断开(或者在输出口上使用一个传输门),这样可作为输入状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

上拉和下拉电阻 [附:OC门与OD门] 的相关文章

  • JavaWeb学习笔记 ---- HTML

    web概念概述 软件架构 1 C S Client Server 客户端 服务器端 在用户本地有一个客户端程序 在远程有一个服务器端程序 优点 用户体验好 缺点 开发 安装 部署 维护 麻烦 2 B S Browser Server 浏览器
  • Python机器学习从零开始(一)序章

    目录 前言 写在前面 1 什么是机器学习 1 1 监督学习 1 2无监督学习 2 Python中的机器学习 3 必须环境安装 Anacodna安装 总结 前言 每一次变革都由技术驱动 纵观人类历史 上古时代 人类从采集狩猎社会 进化为农业社
  • node.js学习笔记--定义GET和POST路由

    const http require http const queryString require querystring const server http createServer req res gt const url req ur
  • csapp 第一章 计算机系统漫游

    计算机系统由硬件和系统软件组成 共同工作来运行应用程序 include
  • Java基础+进阶

    本文适合Java入门和复习回顾 高级篇请参考导航里的面试题 导航 黑马Java笔记 踩坑汇总 Java基础 JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud 黑马旅游 谷粒商城 学成在线 牛客面试题 目录 一
  • 实现小说分页article

    翻页过程 代码实现 css部分 margin 0 padding 0 box sizing border box wrapper height 100vh overflow hidden margin 0 16px article colu
  • 【每日知识】React学习笔记

    一 React特点 1 声明式编程 2 组件化开发 3 多平台适配 二 React开发依赖 1 React 包含react所必须的核心代码 2 react dom react渲染在不同平台所需的核心代码 3 babel 将jsx转换成rea
  • 【ChatGPT实战】9.使用ChatGPT-+-Midjourney-帮忙做了个App

    在当今数字化的时代 手机App已经成为人们生活的重要组成部分 开发一个优秀的手机App需要付出大量的时间和精力 特别是在设计和开发阶段 但是现在我们可以借助工具和技术来协助自己简化这个过程 在这篇教程中 我将介绍如何使用ChatGPT和Mi
  • 类模板以及赋值运算符重载、拷贝构造函数

    编译器默认的拷贝构造函数 是发生的浅拷贝 像指针的赋值就会让指针指向同一个地址空间 析构时就会对同一个地址空间释放两次 就会造成程序崩溃 自定义在模板内的拷贝构造函数 Queue const Queue
  • Mysql数据库笔记

    Mysql数据库 1 初识数据库 1 解决数据读取慢的问题 2 数据一致性 3 数据的安全性 4 解决了并发问题 数据库管理系统DBMS 数据库管理员DBA 数据库database db 表 table 数据库分类 1 关系型数据库 数据之
  • 数据库基础知识整理文档

    Oracle数据库基本数据类型 分类 数据类型 存储内容 存储空间 备注 数值 Number 数值 22个字节 number n 只能存储整数 精度n来指定 number n m 存储小数 n 代表整数位数 小数位数 m代表的小数位数 整数
  • C++ lambda自定义map,set,vector,list 排序规则

    Map和Set本质红黑二叉树 插入数据时可以自定义比较算法 list和vector链表插入时无需比较 所以一般全部插入完成后调用sort 核心代码 typedef struct MyStudent std string name int g
  • UGUI实现背包系统

    一 项目需求 1 可以生成物品 2 提示物品相关信息 3 能拖拽背包中的物品进行交换 丢弃操作 二 实现步骤 1 背包中的物品包括各种种类 如武器 消耗品 防具等 它们具备一些相同的属性 如ID 名字 描述 购买价格 出售价格 图标等 同时
  • jpg格式怎么转换成plt格式的_JPEG格式图片转PLT格式雕刻输出

    JPEG 格式图片转 PLT 格式雕刻输出 方法一 1 JPEG 格式图片用 PS 打开 先把图片转灰度 图像 模式 灰度 再转位图 输出 O 300 使用 U 50 阀值 图像 模式 位图 存储文件为 PSD 或 TIFF 2 打开 Ad
  • 跨5合并dnf无限连接服务器,不妨一试!跨5等跨区卡登陆卡黑屏解决办法分享

    今日我们怀着激动的心情 在10点登陆游戏 跨5 发现跨区并未更新 频道比原来还少了许多 登陆还 出现卡登陆和卡黑屏 故障分析 经过多次尝试 我们发现本次全服跨区更新 游戏客户端和服务器配置文件改变较多 本地客户端的旧配置 未自动清空 存储文
  • pandas 之unique()函数与nunique()函数区别

    很多功能函数自己试一试就全知道了 开始看别人的代码一直不太清楚两者的区别 总是模糊的以为它俩是一样的 是获取唯一值 其实从名字就能看出区别 unique 是以 数组形式 numpy ndarray 返回列的所有唯一值 特征的所有唯一值 nu
  • 第1篇:JVM运行原理

    文章目录 前言 一 类的生命周期 二 类加载原理 1 类加载的过程 2 代码示例 三 双亲委派原理 1 原理图 2 双亲委派的优点 四 Tomcat类加载机制 总结 前言 学习JVM 首先需要了解类的生命周期 以及类加载原理 并且需要扩展知
  • @JsonView注解大白话简介说明

    转自 JsonView注解大白话简介说明 下文是世上最通俗易懂的JsonView注解 如下所示 JsonView注解简介 JsonView是jackson json中的一个注解 Spring mvc也支持JsonView注解 JsonVie

随机推荐

  • 【读书笔记】5G与车联网

    5G与车联网 by 李俨 曹一卿 陈书平等人 Quanlcomm Technologies Inc 车联网背景 2015年 麻省理工科技评论 将车车通信评为年度十大突破技术之一 V2V V2X比无人驾驶更容易实现 V2V V2X提供一种超视
  • [项目管理-33]:需求管理与范围管理的异同

    目录 前言 一 组织层面的项目客户需求与项目管理层次图 二 需求管理与范围管理的比较 2 1 不同点 2 2 相同点 2 3 相互关系 前言 产品开发中 我们经常听到需求管理与范围管理 这两个概念相似 相关 但有是不同层面的概念 经常会混用
  • QVariant自定义数据类型

    struct STUMyStruct int age QString name Q DECLARE METATYPE STUMyStruct QVariant v STUMyStruct man man age 1 man name sdg
  • 什么是数组 为什么要在c语言中引用数组,为什么要在c使用数组有什么用怎么用...

    简单地说指针就是指向变量和对象的地址 指针的用途非常广泛 比如如果你想通过函数改变一个变量的值 就得用指针而不能用值传递 还有在很多时候变量 特别是对象的数据量实在太大 程序员就会用指针来做形参 只需要传递一个地址就行 大大提高了效率 以上
  • Python学习25:中国古代数学问题——李白买酒(python123)

    描述 诗仙李白 一生好酒 一天 他提着酒壶 从家里出来 酒壶中有酒若干 他边走边唱 无事街上走 提壶去买酒 遇店加一倍 见花喝一斗 五遇店和花 喝光壶中酒 计算并输出壶中原有酒几斗
  • 2022 Github 上传仓库

    由于2022后 Github上传不再支持用户名密码的方式了 记录一下新的上传方式 备忘 在配置好token后 1 新建仓库 2 克隆仓库到本地 git clone SSH 3 本地修改 4 在仓库文件夹中 git add git commi
  • threejs视图切换方法

    1 获取观察物体group的中心位置 group可以是stl glb group对象等 2 设置相机位置和朝向 从而达到切换视图的目的 正视图 camera position设置为 x y z 150 camera up x 0 camer
  • java.util.concurrent.Future 使用指南

    1 介绍 本篇文章将了解 Future 一个自 Java 1 5 以来就存在的接口 它在处理异步调用和并发处理时非常有用 2 创建Futures 简单地说 Future 类表示异步计算的未来结果 这个结果最终会在处理完成后出现在 Futur
  • 学人工智能以后从事什么工作?这6大就业方向前景广阔

    学AI以后从事什么工作 近些年来 科技的快速发展 使人工智能方面的人才炙手可热 根据此前UiPath发布的数据显示 我国AI岗位空缺数量最多 有12113个相关职位因为招聘不到人才而发生空缺 我国对于AI人才的渴求已经超过了人工智能大国美国
  • 【TCP/IP】第三章 数据链路

    数据链路的作用 数据链路相关技术 MAC地址用于识别数据链路中互连的节点 MAC地址长48bit 一般来说全球MAC地址为一不会重复 地址结构组成 从通信介质的使用方法上看 网咯可以分为共享介质型和非共享介质型 共享介质方式指的是多个设备共
  • Declaration of 'struct sockaddr_in' will not be visible outside of this function警告的处理

    Declaration of struct sockaddr in will not be visible outside of this function 做ios网络开发的肯定会用到苹果的官方库Reachability ios5发布了
  • 单片机-4x4个矩阵按键控制数码管显示数字程序

    1 include 8051 h 2 typedef unsigned char u8 3 typedef unsigned int u16 4 u8 smgduan 5 0 1 2 3 4 5 6 7 6 0x3f 0x06 0x5b 0
  • Redis常用的命令String,list,hash,set,zset

    常用的指令 redis Key关键字 keys 查看本库中的所有的key exists key的名字 判断某个key是否存在 move key db 当前的库中的key就没有了 被移除了 expire key 秒钟 给指定的key设置过期的
  • npm设置和取消代理的方法

    设置代理 npm config set proxy http 127 0 0 1 8087 npm config set registry http registry npmjs org 关于https 经过上面设置使用了http开头的源
  • 51单片机的数字时钟系统【含仿真+程序+报告+原理图】

    1 主要功能 该系统由AT89C51单片机 DS1302时钟模块 按键模块 LCD显示模块构成 利用51单片机实现电子时钟的功能 使用DS1302芯片作为计时设备 用LCD1602作为显示设备 按键按下可修改当前时间 按下的时候蜂鸣器会di
  • dao层代码

    dao层 数据接口层 方法层 介于业务逻辑层和数据库之间 进行数据的访问和操作 在实际业务处理过程中 往往需要进行多次数据库的访问 这些访问性质往往是相同的 采用Dao层可以将对数据库访问进行封装 避免经行重复性数据库访问开发操作 同时降低
  • 数据挖掘-为什么进行数据挖掘

    为什么进行数据挖掘 1 进入信息时代 信息时代数据量暴增 社会计算机化和功能强大的数据收集和存储工具导致数据的爆炸式增长 数据的爆炸式增长 广泛可用和巨大数量使得当前时代成为真正的数据时代 急需功能强大和通用的工具 以便从这些海量数据中发现
  • matlab运动背景位移矢量,[Matlab科学绘图] 绘制平面位移云图

    Matlab科学绘图 绘制平面位移云图 Matlab科学绘图 绘制平面位移云图 在用MATLAB做有限元分析的时候 难免需要绘制云图 网上的资料又很少 且不通用 自己实现之后在此记录一下 希望也能帮助到其他人 平台 Win7 Matlab
  • 《雷达系统设计MATLAB仿真》学习

    文章目录 第一章 雷达分类 按频段分类 按波形分类 按用途分类 监视雷达 跟踪雷达 第四章 模糊函数 模糊函数的几点应用 目标分辨情况 测量精度 模糊情况 杂波抑制能力 输出功率波形 第六章 杂波 擦地角 掠射角 下俯角 入射角 海杂波 地
  • 上拉和下拉电阻 [附:OC门与OD门]

    上拉就是通过一个电阻将芯片的一个引脚或线路中的一点接电源正极 Vcc 将该处电平拉向高电平 下拉就是通过一个电阻将芯片的引脚或线路中的一点接地 将该处电平拉向低电平 其主要目的是在电路驱动器关闭时给引脚或线路节点一个固定的默认的电平 上拉电