单片机IO口的工作模式详解

控制/MCU

1815人已加入

描述

以前对单片机 IO 的工作模式总是模棱两可,今天花时间仔细研究了下,总结如下:

准双向 IO 是传统 8051 端口模式,又称为弱上拉模式,这些 IO 口既可以输出,又可以输入,STC手册内部示意如下图 1 所示,简化后如图 2(这里用三极管代替 MOS 管利于分析)

三极管

图 1

三极管

图 2

一、输出

三极管

图中端口锁存器设置为 1,三极管关闭,输出为高电平,早期 8051 内核单片机内部集成 10K 上拉电阻,导致输出电流小,此电流被称为拉电流。

三极管

图中端口锁存器设置为 0,三极管打开,输出为低电平,此时电流被称为灌电流,一般手册要求最大 20mA。

二、输入

准双向 IO 之所以被称为准双向而不是双向在于使用输入功能时,必须将端口锁存器设置为 1,否则没法判断端口状态,如下图不论端口为 0 还是 1,单片机读到数据一直为 0。

三极管

端口锁存器设置为 1,可以读到相应数据

三极管

 

三极管

以上被称为准双向 IO 的原因,要输入必须设置相应寄存器。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分