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虚拟机中,数据类型可以分为两类:基本类型和引用类型. 基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了某个对象的引用, ...
随机推荐
- Map、List、Set在Java中的各种遍历方法
一.Map的4种遍历 Map<String, String> map = new HashMap<String, String>(); map.put("姓名&quo ...
- Java正则表达式实现港、澳、台身份证验证
最近由于业务的要求,需要进行港.澳.台人员身份证验证,现在直接上代码,经供参考学习,也为自己积累一些工具类: package com.qiu.validate; public class regexV ...
- 基于DES加密的服务端分析
此程序建立了一个TCP服务端,端口号为10010,之后accept等待连接,如果接受到连接,那么就发送一些欢迎信息,以及提示信息---发送quit退出. 之后不停地调用recv,如果接受到数据,那么判 ...
- Rhino学习教程——1.2
实战——创建个性化工具栏: 因为我们的制图习惯不同,所以可以吧自己常用的工具放在一起.我上次说的自定义界面就是这个和调整工具栏位置. 1.打开常用>设置 2.选择工具列>编辑>新增工 ...
- Python_Mix*异常处理
name 结果为: Traceback (most recent call last): #错误的追溯 File "C:/Users/Mi/PycharmProjects/untitled/ ...
- 六、Linux的用户和组
1. 用户的管理 useradd 添加一个用户 useradd test 添加test用户 useradd test -d /home/t1 指定用户home目录 或者直接 adduser tes ...
- easyui combobox模糊搜索
combobox实现模糊搜索功能 <input class="easyui-combobox" id="hybq_PADD" name="hyb ...
- const修饰指针+volatile +restrict
const这块的难点 const修饰指针有以下的几种形式 ,不同的形式 它的意义不一样. 形式1: int a=23: const int *p=&a: a是int型,&a是int * ...
- 201671010142 2017-2 《java第八章学习感悟》
泛型程序设计 学会如何定义简单泛型类,引入了一个变量T,用<>,并放在类名的后面. 如何定义一个带有类型参数的简单方法.当调用一个泛型方法时,在方法名前的尖括号中放入具体的类型.
- 复制程序到notepad++编辑器出现乱码的解决方法
1.不从别的编辑器打开的文件中直接复制代码到notepad++打开的文件中,也不从notepad++打开的文件中复制到别的编辑器打开的文件中.但是确实想移植一些代码怎么办呢?具体方法:在别的编译器编辑 ...