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

2019-04-15 17:32发布

data/attach/1904/8wnls77bo256lbbiotzi9sy5yo2tle6j.jpgdata/attach/1904/rouac0sz656cgyk1g5hl92g4b6tb1ls9.jpgdata/attach/1904/nn7g3iie3u2dxsxuermw7sthrf6e2hzj.jpg 单片机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.高阻输入 小结:
  • 电路无法流入流出,只能作为输入数据使用