文章目录
STC8H 系列单片机所有的 I/0 口均有 4 种工作模式,可使用软件对 I/O 口的工作模式进行配置:
- 准双向/弱上拉(标准 8051 输出口模式)
- 推挽输出/强上拉
- 高阻输入(电流既不能流入也不能流出)
- 开漏输出。
I/O口相关寄存器
端口数据寄存器

读写端口状态
写 0: 输出低电平到端口缓冲区
写 1: 输出高电平到端口缓冲区
读:直接读端口管脚上的电平
端口模式配置寄存器(PxM0,PxM1)
I/O口工作模式配置相关寄存器为PxM0和PxM1,即需要配置两个寄存器才能设置某个I/O的工作模式

I/O口的4种工作模式配置如下

端口上拉电阻控制寄存器(PxPU)

端口内部4.1K上拉电阻控制位(注: P3.0和P3.1口上的上拉电阻可能会略小一些)
0:禁止端口内部的 4.1K 上拉电阻
1:使能端口内部的 4.1K 上拉电阻
I/O寄存器除上述常用的寄存器外,还有端口施密特触发控制寄存器、端口电平转换速度控制寄存器、端口驱动电流控制寄存器和端口数字信号输入使能控制寄存器等可简单了解





关于I/O的注意事项

配置I/O口
每个I/O 的配置都需要使用两个寄存器进行设置
以 P0口为例,配置P0口需要使用 P0M0和 P0M1 两个寄存器进行配置,如下图所示

注意
虽然每 I/O 口在弱上拉(准双向口)/强推挽输出/开漏模式时都能承受 20mA 的灌电流(还是要加限流电阻,如1K、5600、4720等),在强推挽输出时能输出 20mA 的拉电流(也要加限流电阻),但整个芯片的工作电流推荐不要超过70mA,即从 Vcc流入的电流建议不要超过70mA,从Gnd流出电流建议不要超过70mA,整体流入/流出电流建议都不要超过 70mA
I/O设置demo
I/O端口模式
#include "stc8h.h"
#include "intrins. h "
void main()
{
P_SW2 |= 0x80; //使能访问XFR
P0M0

本文详细介绍了STC8H系列单片机的I/O口工作模式配置,包括端口数据寄存器、模式配置寄存器、上拉电阻控制以及LED控制和按键检测的示例。提醒了关于I/O配置的注意事项和推荐的电流限制。
最低0.47元/天 解锁文章
3391

被折叠的 条评论
为什么被折叠?



