控制/MCU
以前对单片机 IO 的工作模式总是模棱两可,今天花时间仔细研究了下,总结如下:
准双向 IO 是传统 8051 端口模式,又称为弱上拉模式,这些 IO 口既可以输出,又可以输入,STC手册内部示意如下图 1 所示,简化后如图 2(这里用三极管代替 MOS 管利于分析)
图 1
图 2
一、输出
图中端口锁存器设置为 1,三极管关闭,输出为高电平,早期 8051 内核单片机内部集成 10K 上拉电阻,导致输出电流小,此电流被称为拉电流。
图中端口锁存器设置为 0,三极管打开,输出为低电平,此时电流被称为灌电流,一般手册要求最大 20mA。
二、输入
准双向 IO 之所以被称为准双向而不是双向在于使用输入功能时,必须将端口锁存器设置为 1,否则没法判断端口状态,如下图不论端口为 0 还是 1,单片机读到数据一直为 0。
端口锁存器设置为 1,可以读到相应数据
以上被称为准双向 IO 的原因,要输入必须设置相应寄存器。
全部0条评论
快来发表一下你的评论吧 !