I/O端口结构及工作模式
最多支持26个可位寻址的通用I/O引脚,分4组,P0到P3,端口控制寄存器(Px)
端口控制寄存器的写和读有不同的意思,写端口控制寄存器设置输出锁存逻辑值,
读端口引脚的逻辑状态
四种I/O模式:准双向模式(标准8051端口结构)、推挽输出、输入和开漏模式。(P2.0不能配置)
特殊端口寄存器PxM1和PxM2选择端口Px的I/O模式:
复位后,默认配置是高阻输入模式
PxM1.nPxM2.nI/O类型x:0、1、2、3
00准双向
01推挽输出
10输入(高阻)
11开漏
PxS寄存器TTL电平输入或施密特触发输入(抗干扰能力更好)
PxSR寄存器 输出斜率控制寄存器默认 慢斜率
配置RPD(CONFIG0.2)为0,P2.0被配置为输入引脚(输入模式和施密特触发模式,通过P20UP(P2S.7)
使能内部上拉电阻);RPD为编程,P2.0为外部复位引脚(内部上拉电阻有效,读P2.0的值为0)
**准双向模式
**推挽模式
推挽输出模式用于需要从端口输出大电流时的应用
**输入高阻模式
**开漏模式
常用于I2C输出线,开漏引脚需要加一个外部上拉电阻,典型连一个电阻到VDD
**读-修改-写 指令
ANLORLXRLJBCCPLINCDECDJNZMOVbit,CCLR bit SETB bit
**管脚控制寄存器
1.输入输出数据控制
I/O输入输出数据缓存,可位寻址
2.输出模式控制
准双向模式(标准8051端口结构)、推挽输出、输入和开漏模式
对P2.0,有一个上拉电阻控制位 P2S.7
P0M1 -端口0模式选择1P1M1 -端口1模式选择1P3M1 -端口3模式选择1
P0M2 -端口0模式选择2P1M2 -端口1模式选择1P3M2 -端口3模式选择2
P2S -P20设置及定时器0/1输出使能
位70-P2.0上拉功能关闭;1-上拉打开(仅当RPD=0有效)
3.输入类型
每一个I/O引脚可独立配置成TTL输入或施密特触发输入,注意所有
PxS寄存器通过切换SFR页到页1来访问
P0S 端口0施密特触发输入0-TTL电平,1-施密特输入
P1S 端口1施密特触发输入
P2S 端口2施密特触发输入
位00-P2.0TTL电平输入;1-P2.0施密特输入
P3S 端口3 施密特触发输入
位00-P3.0TTL电平输入;1-P3.0施密特触发输入
4.输出斜率控制
P0SR -端口0斜率控制P1SR -端口1斜率控制P3SR -端口3斜率控制
位n PxSR.n:0-普通输出;1-高速输出
|