新闻动态
全部新闻公司新闻行业新闻

2018

11/22

单片机IO口工作方式详细分析

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

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

小结:

灌电流能力强,拉电流能力弱

读外部状态前要先锁存“1”(断开下拉晶体管)

读IO口状态的原则是非高即低,只能准确识别外部的低电平信号,无法区分悬空和真正的高电平

作为输入时,输入阻抗不为高阻,可能出现将外部低电平误读为高电平的情况(例上拉电阻10K,外部电阻100K,IO=5*100/110=4.54V)

210134.jpg

其他应用参考:

210135.jpg

准双向口用作输入时,可对地接按键,如图1,当然也可以去掉R1直接接按键,当按键闭合时,端口被拉至低电平,当按键松开时,端口被内部“极弱上拉”晶体管拉至高电平。

当端口作为输出时,不应对地外接LED如图2控制,这样端口的驱动能力很弱(拉电流能力弱),LED只能发很微弱的光,如果要驱动LED,要采用图3的方法,这样准双向口在输出为低时,可吸收20mA的电流(灌电流能力强),故能驱动LED。图4的方法也可以,不过LED不发光时,端口要吸收很大电流。

2.推挽输出配置

小结:

能真正输出高低电平,具有很强的驱动能力(灌电流,拉电流能力强)

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

210136.jpg

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

3.开漏输出配置

小结:

通过外部上拉电阻输出高电平

若有外部上拉,可作为输入IO读取外部状态(同准双向IO,先锁存“1”)

通过外部上拉电源进行电平转换与外部器件兼容

210137.jpg

4.高阻输入

小结:

电路无法流入流出,只能作为输入数据使用

210138.jpg

摘自:摩尔芯闻