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虚拟机中,数据类型可以分为两类:基本类型和引用类型. 基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了某个对象的引用, ...
随机推荐
- DHCP协议分析(Wireshark)
一.说明 一是很多时候IP都是设置成通过dhcp动态获取的,但一直不太清楚dhcp的具体交互过程:二是加上前几天有同事问知不知道DHCP具体交互过程:三是这两天正好在分析协议.所以就顺道来看一下. 如 ...
- day24_python_1124
1 复习 2 TCP-UDP协议 3 tcp协议的socket 4 复杂tcp协议的socket 5 带退出的聊天程序 6 时间练习demo 7 粘包现象 1.复习 # 网络编程概念# ...
- VMProtect1.63分析
教材上给出了一些说明,虽然是断断续续的.. ..之后通过单步,把断的地方都连起来了,也明白了VMP分析插件究竟做了些什么.. //表1,表2在最后. 加密之前的代码: INC ECX C3 RETN ...
- FORTH 虚拟机内部结构
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- emacs安装及配置
目录 平台 安装 基本配置 配置文件结构 elpa仓库管理 主题配色 字体显示配置(解决中文卡顿) 插件配置 markdown 简介 markdown-mode markdown-toc org导出m ...
- FTP 代理服务器实现
本文将在Linux环境下实现一个简单的FTP代理服务器,主要内容涉及FTP主动/被动模式和简单的Socket编程. 1. 主动模式和被动模式 FTP有两种模式,即主动模式(Active Mode)和被 ...
- python机器可读数据-json
导入JSON数据相对简单.下面为打开.加载.导入.输出的操作. import json data = open('data.json').read() data = json.loads(data) ...
- canvas背景动画
偶然反驳可看到博客背景的炫酷效果 觉得很新奇就去查看了一下源码 结果在git上找到了 记录一下 https://github.com/hustcc/canvas-nest.js/
- 使用Spark进行搜狗日志分析实例——统计每个小时的搜索量
package sogolog import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- List、Set和数组之间的转换(转载)
本文转自 http://blog.sina.com.cn/s/blog_52fea7b60100s0hl.html 今天做项目中正好遇到该问题,就在网上查了下,这篇有些细节问题还是讲得挺好的. ★ 数 ...