08_通用数字输入输出端口解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 通过将WEAKPUD(XBR2.7)设置为逻辑‘0’来使能弱 上拉部件。
2. 通过写P74OUT = 0xFF 将P4、P5、P6 和P7 的输出方 式配置为推挽方式。
3. 通过向端口数据寄存器写‘0’将P4、P5、P6 和P7 的输 出状态强制为逻辑‘0’: P4 = 0x00,P5 = 0x00,P6 = 0x00,P7 = 0x00。
2,模拟输入 P1口可配置为ADC1的模拟输入引脚,将P1口的相应引 脚PnMDIN位清零即可。当引脚配置为模拟输入时,不 参与交叉开关配置,在交叉开关配置中会自动跳过相应 引脚。
8.1.3 配置无引出脚的端口
尽管P4、P5、P6 和P7 在C8051F021/3 中没有对应的引脚, 但端口数据寄存器仍然存在并可为软件所用。 由于数字输入通路保持活动状态,所以建议不要将这些引脚 处于“浮空”状态,以避免因输入浮空为一个无效逻辑电平 而导致不必要的功率消耗。 下面的任何一种措施都可以防止这种情况出现:
8.1.1 端口引脚的输出方式 端口受寄存器PnMDOUT(n=0~3)、P74OUT及寄存器 XBR2的弱上拉禁止位(WEAKPUD、XBR2.7)的控制,可 选择4种输出方式。 1,漏极开路输出 寄存器PnMDOUT(n=0~3)分别选择P0、P1、P2、P3口 的输出方式,寄存器P74OUT选择P4、P5、P6、P7口的输 出方式。 若寄存器PnMDOUT (n=0~3)和P74OUT中的某位值为0, 则与该位对应的I/O输出线为漏极开路输出方式。
若寄存器PnMDOUT (n=0~3)和P74OUT中的某位值 为1,则与该位对应的I/O输出线为推挽输出方式。
当T1导通、T2截止时,T1相当于一个电阻,加在T1上的 VDD与外接电路构成推电流电路,此时输出为高电平。 当T2导通、T1截止时,T2相当于一个电阻,T2经过DGND 与外接电路构成拉电流回路,此时输出为低电平。
P0MDOUT:端口0 输出方式寄存器
位7-0: P0MDOUT.[7:0]:端口0 输出方式位。 0:端口引脚的输出方式为漏极开路。 1:端口引脚的输出方式为推挽。
P0MDOUT:端口0 输出方式寄存器
注意: 当SDA、SCL、RX0(当UART0 工作于方式0 时)和RX1 (当UART1工作于方式0 时)出现在端口引脚时,总是被 配置为漏极开路输出,与P0MDOUT的设置值无关。
在漏极开路方式,T1始终处于截止状态。应用时,应外接上 拉电阻(10k),使得I/O口输出1时,有高电平输出。 所有端口引脚的缺省方式为漏极开路。
不管交叉开关是否将端口引脚分配给数字外设,端口引 脚的输出方式都受PnMDOUT寄存器控制。例外情况是:配 置给SDA、SCL、RX0、RX1的端口引脚总是被配置为漏极 开路输出,而与PnMDOUT寄存器中的对应位的设置无关。 端口P0~P3是否能输出,还受XBARE(XBR2.6)的限 制。必须将XBARE置为“1”,引脚才能输出。 2,推挽输出
3,弱上拉输出
每个端口引脚都有一个内部弱上拉部件T3,在引脚和VDD之 间提供阻性连接(100k),在缺省情况下,该上拉器件被使 能。 设置寄存器XBR2的弱上拉禁止位(WEAKPUD, XBR2.7)为0,允许弱上拉,设置为1,禁止弱上拉。
4高阻态输出 关闭弱上拉方式,取消外接上拉电阻并输出1(关闭T2), 端口将呈高阻态。 在漏极开路时,输出0将使端口引脚 驱动到GND,输出1则为高阻态。
8.1.2 端口引脚的输入方式
端口P0~P3可配置为数字输入和模拟输入,端口P4~P7只能 配置为数字输入。 1,数字输入 通过设置输出方式为“漏极开路”并向端口数据寄存器中的 相应位写‘1’将端口引脚配置为数字输入。 例如,设置P3MDOUT.7 为逻辑‘0’并设置P3.7 为逻辑‘1’ 即可将P3.7 配置为数字输入。 如果一个端口引脚被交叉开关分配给某个数字外设,并且该 引脚的功能为输入(例如UART0 的接收引脚RX0),则该引 脚的输出驱动器被自动禁止。
8.2 输入/输出端口的特殊功能寄存器
8.2.1低端口P0~P3的特殊功能寄存器
P0:端口0 寄存器
位7-0: P0.[- 输出出现在I/O 引脚,根据XBR0、XBR1 和XBR2 寄 存器的设置) 0:逻辑低电平输出。 1:逻辑高电平输出。(若相应的P0MDOUT.n 位 = 0,则为 漏极开路)。 (读-与XBR0、XBR1 和XBR2 寄存器的设置无关) 0:P0.n 为逻辑低电平。 1:P0.n 为逻辑高电平。 注:P0.7 (/WR)、P0.6 (/RD)和P0.5 (/ALE)可由外部数据存 储器接口驱动。后面细讲。
图8-1 I/O端口单元功能框图
8.1 单片机I/O端口的操作 对于端口P0、P1、P2 和P3 ,除了被交叉开关配置、扩展 外部存储器、ADC1的模拟输入通道以及外部中断6、7占 用之外,其余的引脚都可以作为通用的I/O(GPIO)端口, 即数字输入、输出口使用。这些作为通用数字输入、输出 使用的引脚,既可以按位寻址也可以按字节寻址。 端口P4~P7的所有端口引脚都可以作为通用的I/O,通过读 和写相应的端口数据寄存器访问端口(都是特殊功能寄存 器)。
第 8章
端口输入/输出
C8051F020/1/2/3 MCU 是高集成度的混合信号片上系统, 有按8 位端口组织的64 个数字I/O 引脚(C8051F020/2)或 32 个数字I/O 引脚(C8051F021/3)。 低端口(P0、P1、P2 和P3)既可以按位寻址也可以按字 节寻址。高端口(P4、P5、P6 和P7)只能按字节寻址。 P0:80H P1:90H P2:A0H P3:B0H P4:84H P5:85H P6:86H P7:96H 所有引脚都耐5V 电压,都可以被配置为漏极开路、推挽输 出方式或弱上拉。端口I/O 单元的功能框图示于图8-1。
相关文档
最新文档