标题: 51单片机个人学习笔记及经验(IO口结构及上拉下拉电阻)-连载7 [打印本页]

作者: 七月雨    时间: 2018-10-4 19:30
标题: 51单片机个人学习笔记及经验(IO口结构及上拉下拉电阻)-连载7
日常更新7!
单片机IO口的结构

这里为了严谨,T1、T2是MOS管而非三极管,但功能和用法与三极管完全一样:T1为PNP型,T2为NPN型。三极管与MOS管的不同之处在于三极管靠电流导通,而MOS管靠电压导通。

准双向IO:
内部输出1经反向后为0,不导通,IO与上拉电阻相连,为高电平。
内部输出0经反向后为1,单通。IO导通到GND,为低电平。

开漏输出
比如单片机的P0口,没有内部的上拉电阻,这时候要想正常的使用IO控制,就必须在外部加上拉电阻。如果不接,那么IO将处于不确定状态。

强推挽输出:
上拉电阻很小,或者直接没有上拉电阻,有着很强的输出输入电流的能力。
内部输出1,经反向为0,T1导通,IO为高电平;
内部输出0,经反向为 1,T1不导通,T2导通,接地,IO为低电平。

高阻态:
电平状态虽它后面接的东西而定,一般处于悬空状态,理论上电阻值无穷大。

如何设置IO口的状态:
可通过设置PXM1:PXM0的值:
PXM1:PXM0
0 0 准双向口(传统IO)
0 1 推挽输出(强上拉 ,电流可达20mA,尽量少用)
1 0 仅为输入(高阻)
1 1 开漏,如传统8051的P0口

例:C语言中直接赋值
P1M0 = 0xC0;
P1M1 = 0xA0;//P1.7开漏,P1.6高阻,P1.5强推挽输出,其他准双向IO口
上下拉电阻:

上下拉电阻的选取原则



过大的上拉电阻会导致信号变缓。


完整的Word格式文档51黑下载地址:
07-IO口结构与上下拉电阻.docx (53.29 KB, 下载次数: 19)




作者: bzaa110    时间: 2019-9-19 16:03
P1M1 = 0xA0;//P1.7开漏,P1.6高阻,P1.5强推挽输出,其他准双向IO口
这个地方P1.6&P1.5 反了





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1