AJ的笔记之上拉电阻的工作原理分析
第二章:聊一聊上拉电阻的工作原理
**********本文所采用的单片机是:STC89C52RC系********************
【重点提要】其实,理解上拉电阻的原理,关键是理解这两个词:锁存器&开漏输出。
(1)关于锁存器
我们知道,单片机是由微处理器、存储器以及输入输出接口组成的芯片,具体到引脚,我们了解到单片机的结构如下图所示:
原来P1,P2,P3接口对应的元器件是锁存器(一种存储器),而锁存器有一个特征就是存储单元电路。锁存,其实就是缓存的意思,可以把信号暂存为某种电平状态:高电平或低电平,但是具体是哪种,其实是不确定的。我们通过程序控制信号输入“0”和“1”,其实就是改变锁存器的电平状态。“0”为低电平(电压),“1”为高电平。
(2)关于开漏输出
然而,单片机输出属于开漏输出,也就是无法输出电压,不管单片机有多大的蓄能,它的引脚也不输出电压,我们也可以称之为悬空状态。
(3)上拉电阻的工作原理
当我们接入上拉电阻的时候,就是将不确定的信号通过一个电阻钳位在高电平,输入电流,电阻同时起到限流的作用(钳位是指将某点的电位限制在规定电位的措施,是一种过压保护技术。)这个时候,输出高电平的电压会拉到上拉电阻的电压。(如下图所示)
我们再接入一个LED灯,其正极接入P0^1,负极接地(如下图所示)。
这时,P0^1的电平已经被固定在高电平了,在无信号输入的情况下或输入高电平信号“1”的时候,可以保持在高电平状态,上拉电阻的Vcc电源输出的经过上拉电阻限流后的电流流过LED灯,灯就会亮,如下图所示。值得注意的是,LED的电压不是单片机芯片提供的,而是上拉电阻输出端提供的。当我们再并联一个上拉电阻,总电阻变小,电流变大,LED灯变得更亮。输入信号(0或1),就是改变锁存器的电平状态,进而控制Vcc的电源提供的电流是流过LED灯还是流向地。
例如,一盏LED灯接入带上拉电阻的单片机接口(如下图所示),而另一盏灯直接通过同样的10K电阻接入,不过不接入单片机,可以发现,这两盏灯的亮度是一样的。换句话说,P0^1端并没有为LED灯在亮的时候提供任何电源,P0^1的作用就是在输出低电平(0)的时候接地,从而导致LED灯短路不亮,仅此而已。
同理,如果我们把电阻接入负极(地),那么就不叫上拉电阻了,而叫下拉电阻,其作用也不是让单片机输出端保持高电平,而是低电平。
以上就是上拉电阻控制电路的原理,如果没有上拉电阻,那么由于单片机的开漏输出,P0^1将无法输出电压,LED灯也不会亮。
(本章 完。其它章节,请关注公众号“AJ的笔记”获取)
AJ的笔记之上拉电阻的工作原理分析的更多相关文章
- SPI协议及工作原理分析
说明.文章摘自:SPI协议及其工作原理分析 http://blog.csdn.net/skyflying2012/article/details/11710801 一.概述. SPI, Serial ...
- Security:蠕虫的行为特征描述和工作原理分析
________________________ 参考: 百度文库---蠕虫的行为特征描述和工作原理分析 http://wenku.baidu.com/link?url=ygP1SaVE4t4-5fi ...
- Azure WAF防火墙工作原理分析和配置向导
Azure WAF工作原理分析和配置向导 本文博客地址为:http://www.cnblogs.com/taosha/p/6716434.html ,转载请保留出处,多谢! 本地数据中心往云端迁移的的 ...
- Hadoop生态圈-Zookeeper的工作原理分析
Hadoop生态圈-Zookeeper的工作原理分析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 无论是是Kafka集群,还是producer和consumer都依赖于Zoo ...
- 原理剖析-Netty之服务端启动工作原理分析(下)
一.大致介绍 1.由于篇幅过长难以发布,所以本章节接着上一节来的,上一章节为[原理剖析(第 010 篇)Netty之服务端启动工作原理分析(上)]: 2.那么本章节就继续分析Netty的服务端启动,分 ...
- AQS工作原理分析
AQS工作原理分析 一.大致介绍1.前面章节讲解了一下CAS,简单讲就是cmpxchg+lock的原子操作:2.而在谈到并发操作里面,我们不得不谈到AQS,JDK的源码里面好多并发的类都是通过Sy ...
- getaddrinfo工作原理分析
getaddrinfo工作原理分析 将域名解析成ip地址是所有涉及网络通讯功能程序的基本步骤之一,常用的两个接口是gethostbyname和getaddrinfo,而后者是Posix标准推荐在新应用 ...
- [Java] SSH框架笔记_SSH三大框架的工作原理及流程
Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.x ...
- 一篇笔记带你梳理JVM工作原理
首先要了解的 数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型. 基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了某个对象的引用, ...
随机推荐
- ArrayList类源码解析——ArrayList动态数组的实现细节(基于JDK8)
一.基本概念 ArrayList是一个可以添加对象元素,并进行元素的修改查询删除等操作的容器类.ArrayList底层是由数组实现的,所以和数组一样可以根据索引对容器对象所包含的元素进行快速随机的查询 ...
- 在vue中添加sass的配置的方法
1.安装sass的依赖包 npm install --save-dev sass-loader //sass-loader依赖于 node-sass npm install --save-dev no ...
- Druid(新版starter)在SpringBoot下的使用以及优点
Druid是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能.DruidDataSource支持的数据库:理论上说,支持所有有jdbc驱动的数据库.最近发现Druid在spri ...
- js获取复选框checkbox选中的多个值
<input type="checkbox" name="idd" value="111" />a <input type ...
- web前端学习python之第一章_基础语法(一)
web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- 【Monkey】Monkey获取包名的方式
获取包名的方式: 1.有源码:查看AndroidManifest.xml 2.只有apk: 2.1 aapt dump xmltree ColaBox.apk AndroidManifest.xml ...
- Delphi 数据导出到Excel
好多办公软件特别是财务软件,都需要配备把数据导出到Excel,下面就来介绍两种数据导出方法 1.ADODB导出查询结果(此方法需要安装Excel) 2.二维表数据导出(根据Excel文件结构生成二进制 ...
- js判断数组是否有重复值
function isRepeat(arr) { var hash = {}; for(var i in arr) { if(hash[arr[i]]) return true; hash[arr[i ...
- 基于mykernel完成多进程的简单内核
学号351 原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/ mykernel简介 mykernel是由孟宁老师建立的一个用于开发您自己的操 ...
- 第一章 Python基本语法
寒假不能荒废,终于静下心来认真地开始学习Python,在这里与大家分享一下所学知识,希望能对像我这样的小白有所帮助,如有错误之处,谢大佬不吝赐教!! 编程语言包括机器语言.汇编语言.高级语言.超 ...