2013-06-19 15:19:31 dcx1205 阅读数 9397

解释一:

单片机的 IO 口 (输入/输出 口),是相对单片机 本身 而言的,
就是单片机IO口往外输出信号1或者0( 1 的输出电圧 = VCC , 0 的电圧 = 0 V )
或者 单片机从 IO 口 读取 输入 信息 1 或者 0

 

解释二:

1、I/O口的输出是对电流而言的,高电平输出就是输出(或拉出)电流,低电平输出就是输入(或灌入)电流,一般C51单片机1状态为高电平状态,电压接近于电源电压(5V),0状态为低电平状态接近0伏;我们在应用其输出功能时,首先就要在设计上保证I/O口输出高电平时电压不能降低,因其拉电流能力及其微弱,所以高电平输出时一般只用于MOS元件或TTL接口的控制,另外,I/O口的低电平输出时,要保证灌入的电流不超过芯片的要求,否则也不能正常工作。
2、I/O口的输入是对电压而言的,一般当口上电压高于2V时,单片机会作为高电平采如,低于0.8V是单片机会认为是低电平,至于高低电平的电压究竟时多少,各系列芯片或有差异。
3、至于“那么是不是IO上接的东西不一样给IO口在输出为高或低状态的数值也是不一样的”是这样,不管让单片机I/O口接上什么东西,都要通过限流分压等方式来保证I/O口输出的电压值为5V或0,这要变了就会失控的。

 

解释三:

对于IO口,
I是input,输入
O是out, 输出
输出是,设定这个脚为输出,读取这个脚的状态值的话,1为高电压,0为低电平。
输出一般是驱动一个小东西,再带动一个大装置来达到自己想要的要求。
输出你可以看做一个电源。能给你的东西供电。就象电源不会随你会接的东西影响,它始终都是电源。只是有状态,有电,没电。。负载太大的话,只能说是驱动不起来。它输出的状态没变。设计时肯定要避免负载过大的。
输入就像是接受端。你给我电,单片机就会知道,输入端是1,你不给我电,输入端是0。

解释四:

I/O口即通用输出输出口,I/O口只能出入或者输出0和1,0对应低电平,1对应高电平,如果是3.3V系统,高电平就为3.3,如果为5V,那高电平就为5V,低电平为0V。
    如果做输出口的话,就是单片机通过软件置位相关寄存器让端口置高电平或低电平,达到电平输出的目的。
    如果做输入口,就是单片机捕捉端口的电平然后置位相关寄存器,然后软件读取寄存器中0或1,达到输入作用。这是很通俗的理解,如果想更深的了解可以参考通用I/O的结构。
 
注:以上内容来自互联网,各位网友的回答,本人只稍微做了整理。相信上面几个解释总有一个适合你的胃口吧!

 

2019-06-30 14:50:41 weixin_42948137 阅读数 240

最近接触了32单片机,关于对于IO口的学习想记录下来,有什么不对的地方,希望能指出来,进行改正。

32单片机IO口共有八种状态,分别是:
输入:
1、输入浮空
2、输入上拉
3、输入下拉
4、模拟输入
输出:
1、开漏输出
2、推挽输出
3、推挽复用输出
4、开漏复用输出

在这里插入图片描述
1、浮空输入,据我的理解,就是不接上拉,也不接下拉,外部电路是什么状态,就是什么状态,具有不确定性。
2、上拉输入,就是配置好IO口后,默认与VDD相连的开关闭合,读状态默认高电平,外部有低电平才拉低。
3、下拉输入,与上拉输入一个意思。
4、模拟输入,这个我没用到,也不太理解,套用一下前辈的话:模拟输入是指传统方式的输入,数字输入是输入PCM数字信号,即0,1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。

5、开漏输出:据我的理解就是要加上拉电阻,才能拿到低电平,(nmos管为0时,才接通),外部的上拉电阻的高电平拉到了Gnd,默认输出高电平。
6、推挽输出:配置后,输出1,PMOS管接通,外输出高点平,输出0,NMOS管接通,外输出低电平,输出1.
复用功能就是外设的配置。

关于资料的引用

2016-07-06 07:45:21 softn 阅读数 332
上节课我们提到了单片机 IO 口的其中一种“准双向 IO”的内部结构,实际上我们的单片机 IO 口还有另外三种状态,分别是开漏、推挽、高阻态,我们通过图 9-1 来分析下另外这三种状态。
图 9-1  单片机 IO 结构示意图
图 9-1  单片机 IO 结构示意图

前边我们简单介绍“准双向 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 口,随着我们学习的深入,其它状态也会有接触,在这里介绍给大家学习一下。
2017-07-25 10:00:34 jbh18401 阅读数 7153

单片机I/O口工作方式基本有以下几类:

1.准双向IO口配置(弱上拉)

       小结:

  • 灌电流能力强,拉电流能力弱
  • 读外部状态前要先锁存“1”(断开下拉晶体管)
  • 读IO口状态的原则是非高即低,只能准确识别外部的低电平信号,无法区分悬空和真正的高电平
  • 作为输入时,输入阻抗不为高阻,可能出现将外部低电平误读为高电平的情况(例上拉电阻10K,外部电阻100K,IO=5*100/110=4.54V)


   其应用方式参考:


准双向口用作输入时,可对地接按键,如图1,当然也可以去掉R1直接接按键,当按键闭合时,端口被拉至低电平,当按键松开时,端口被内部“极弱上拉”晶体管拉至高电平。
当端口作为输出时,不应对地外接LED如图2控制,这样端口的驱动能力很弱(拉电流能力弱),LED只能发很微弱的光,如果要驱动LED,要采用图3的方法,这样准双向口在输出为低时,可吸收20mA的电流(灌电流能力强),故能驱动LED。图4的方法也可以,不过LED不发光时,端口要吸收很大电流。


 2.推挽输出配置
       小结:
  • 能真正输出高低电平,具有很强的驱动能力(灌电流,拉电流能力强)
  • 如果当两个推挽输出结构相连在一起,一个输出高电平,即上面的MOS导通,下面的MOS闭合时;同时另一个输出低电平,即上面的MOS闭合,下面的MOS导通时。电流会从第一个引脚的VCC通过上端MOS再经过第二个引脚的下端MOS直接流向GND。整个通路上电阻很小,会发生短路,进而可能造成端口的损害。这也是为什么推挽输出不能实现" 线与"的原因。

推挽输出可以用图2的方式通过拉电流驱动LED灯亮。


3.开漏输出配置
小结:
  • 通过外部上拉电阻输出高电平
  • 若有外部上拉,可作为输入IO读取外部状态(同准双向IO,先锁存“1”
  • 通过外部上拉电源进行电平转换与外部器件兼容



4.高阻输入
小结:
  • 电路无法流入流出,只能作为输入数据使用

2017-04-17 20:24:29 u010794281 阅读数 2843

新入职一个公司,做智能家居的,只用宏晶51单片机。好长时间没搞了,今天就遇到一个问题之前没遇到过,就是配置IO口的工作类型。



数据手册里面是这样说的,在此多说一句,数据手册做的真烂。


这里举个例子。

如果给P1M1赋值0X03,给P1M0赋值0X05,那么P1口各个引脚对应的模式就是:
{
P1M1=0x03=00000011b
P1M0=0x05=00000101b
}
P1M1            P1M0              IO口模式
0 0 P1.7准双向口
0 0 P1.6准双向口
0 0 P1.5准双向口
0 0 P1.4准双向口
0 0 P1.3准双向口
0 1 P1.2推挽输出
1 0 P1.1高阻
1 1 P1.0开漏



没有更多推荐了,返回首页