单片机IO口另外三种状态

2020-05-26来源: elecfans关键字:单片机  IO口  三种状态

单片机 IO 口的其中一种“准双向 IO”的内部结构,实际上我们的单片机 IO 口还有另外三种状态,分别是开漏、推挽、高阻态,我们通过图 9-1 来分析下另外这三种状态。

前边我们简单介绍“准双向 IO”的时候,我们是用三极管来说明的,出于严谨的态度,我们这里按照实际情况用 MOS 管画图示意。实际上三极管是靠电流导通的,而 MOS 管是靠电压导通的,具体缘由和它们的内部构造有关系,在这里我们暂且不必关心,如果今后有必要了解可以直接查找模拟电子书或者百度相关资料进行细致学习。

在单片机 IO 口状态这一块内容上,我们可以把 MOS 管当三极管来理解。在图 9-1 中,T1 相当于一个 PNP 三极管,T2 相当于一个 NPN 三极管。其中准双向 IO 口原理已经讲过了,开漏输出和准双向 IO 的唯一区别,就是开漏输出把内部的上拉电阻去掉了。开漏输出如果要输出高电平时,T2 关断,IO 电平要靠外部的上拉电阻才能拉成高电平,如果没有外部上拉电阻 IO 电平就是一个不确定态。

标准 51 单片机的P0 口默认就是开漏输出,如果要用的时候外部需要加上拉电阻。而强推挽输出就是有比较强的驱动能力,如图 9-1 中第三张小图,当内部输出一个高电平时,通过 MOS 管直接输出电流,没有电阻的限流,电流输出能力也比较大;如果内部输出一个低电平,那反向电流也可以很大,强推挽的一个特点就是驱动能力强。

单片机 IO 还有一种状态叫高阻态。通常我们用来做输入引脚的时候,可以将 IO 口设置成高阻态,高阻态引脚本身如果悬空,用万用表测量的时候可能是高可能是低,它的状态完全取决于外部输入信号的电平,高阻态引脚对 GND 的等效电阻很大(理论上相当于无穷大,但实际上总是有限值而非无穷大),所以称之为高阻。这就是单片机的 IO 口的四种状态,在我们 51 单片机的学习过程中,主要应用的是准双向 IO 口,随着我们学习的深入,其它状态也会有接触,在这里介绍给大家学习一下。

关键字:单片机  IO口  三种状态 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic498305.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于单片机的红外线遥控系统
下一篇:基于51单片机直流电机PWM调速程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

AVR单片机EEPROM学习
生活中我们经常会犯眼高手低的毛病,很多东西看着别人弄很容易,但轮到自己的时候就会发现其实没有想象中的简单。学完51单片机时,我以为小小的单片机无非就是进行一些IO口的控制罢了,但今天在进行AVR系列单片机学习的时候,才发现原来单片机还有很多的不同,自己原来掌握的东西还远远不足,所以无论到什么时候只有虚心学习,不断努力才能真正的掌握一门技术,学习的过程也是自己人格丰富的过程。下面来说说对EEPROM学习的一些感受。AVR单片机内部已集成了512kb的EEPROM,对EEPROM的操作比51单片机相对简单一些。写EEPROM操作:读操作:主函数将记录打开开发板的次数,将开机数送EEPROM保存,开机后使用LED显示开发板的启动次数
发表于 2020-06-07
AVR单片机EEPROM学习
自制AVR高压编程器,解锁熔丝位错误的avr单片机
这段时间在用atmel的系列单片机at90usb128x/64x和atmega32u4设计键盘,有一块at90的单片机由于熔丝位设置错误被锁死,导致progisp无法给其刷程序,网上查了有几种方法解锁:用有源晶振的输出脚给到单片机的晶振输入脚。(前提是单片机的熔丝位中设置为外部时钟)用正常单片机对的晶振输出脚给到熔丝位错误的单片机的晶振输入脚。(前提是单片机的熔丝位中设置为外部时钟)用正常单片机编程输出时钟给到熔丝位错误的单片机的晶振输入脚。(前提是单片机的熔丝位中设置为外部时钟)由于我的单片机熔丝位设置成了内部时钟,以上三种方法无效,只能请出最后的救命稻草——高压编程。在百度上找的一些方案大都只支持atmega8/16这些低阶
发表于 2020-06-07
自制AVR高压编程器,解锁熔丝位错误的avr单片机
51单片机串行口及存储器工作原理分析
一、 51单片机串行口工作原理MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信。1.串行端口的基本特点8031单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。串行端口有两个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。串行端口有一个数据寄存器SBUF(在特殊
发表于 2020-06-07
51单片机串行口及存储器工作原理分析
浅谈STC单片机特殊IO的用法
在正常情况下,51单片机在上电复位后,所有IO口默认都为高电平,都工作在准双向IO模式,但是STC15系列以后的单片机出现了IO的4种工作模式,一个带有复用功能的IO在上电复位后就会出现不是准双向IO模式的情况,这些引脚在使用时就需要我们多多关照啦。1、PWM相关的引脚在STC15系列单片机中,于PWM2到PWM7相关的12个IO,在上电复位后,默认为高阻输入模式,需要对外输出时,需要用户通过程序将其设置为推挽输出或者是准双向IO模式。在STC8系列单片机中,和PWM相关的所有IO复位后是准双向IO模式,用户可以在通过ISP软件烧写(下载)程序时,选择将其设置为开漏输出模式,同样用户也可以通过程序的方式设置为所需要的工作模式
发表于 2020-06-07
浅谈STC单片机特殊IO的用法
单片机的逻辑电路与逻辑运算的介绍
在数字电路,我们经常会遇到逻辑电路,而在 C 语言中,我们则经常用到逻辑运算,二者在原理上是相互关联的。首先,在“逻辑”这个概念范畴内,存在真和假这两个逻辑值,而将其对应到数字电路或 C 语言中,就变成了“非 0 值”和“0 值”这两个值,即逻辑上的“假”就是数字电路或C 语言中的“0”这个值,而逻辑“真”就是其它一切“非 0 值”。然后,我们来具体分析一下几个主要的逻辑运算符。我们假定有 2 个字节变量:A 和 B,二者进行某种逻辑运算后的结果为 F。以下逻辑运算符都是按照变量整体值进行运算的,通常就叫做逻辑运算符:以下逻辑运算符都是按照变量内的每一个位来进行运算的,通常就叫做位运算符:我们今后要看资料或芯片手册的时候,会经常遇到
发表于 2020-06-07
单片机的逻辑电路与逻辑运算的介绍
如何计算给单片机寄存器赋的值
在以前的文章中,我提到过,单片机在电学里面,属于很简单的一种器件,外表看,就是一个芯片,长着很多的脚。内部,就是一堆寄存器。不同的单片机,外部表现就是形状和引脚数量和引脚名称可能不一样,内部,就是寄存器名称不一样。我们要做的,就是写程序控制单片机里面的寄存器,然后通过引脚表现出来完成各种电子产品。所以,你在看别人写的程序的时候,会经常看到给单片机寄存器赋值的语句。下面就以最简单的控制51单片机引脚高低电平来说明一下。(不要总是存在51单片机已经淘汰的想法,51单片机至今任然是出货量最大的单片机,并且各大公司每年都有新款的51单片机推出,功能越来越强劲,做产品,要选最合适的单片机,而不要总想用牛逼的单片机。)例如,单片机P1口
发表于 2020-06-07
如何计算给单片机寄存器赋的值
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved