51GPIO口配置

学习单片机的第一步就是学习GPIO的配置,51和32比起来显然是32比较简单,因为现在ST在推行HAL库,用HAL库配置相当简单,我们来说说stc8如何配置,只讲使用,具体结构不展开说。

什么是GPIO口

全称:general purpose intput output
通用输入输出端口,可以做输入也可以做输出,简称IO口

相关寄存器

在这里插入图片描述
看上去挺多,挺吓人
端口数据寄存器
在这里插入图片描述
端口模式配置寄存器
在这里插入图片描述

工作模式

在这里插入图片描述
GPIO只有四种工作模式,我们先看看描述一下各个工作模式,准双向口:既可输入也可输出。
推挽输出:推完输出是强上拉输出,可达20mA得限流电阻,可以得到确切的高低电平。
高阻输入:电流既不能输出也不能输入,读取电压信号
开漏输入:在开漏电路中,输入低电平可以从输出端得到低电平,而输入高电平却不能从输出端得到高电平,得到的只是高阻态。

配置I/O口

在这里插入图片描述

刚开始接触的小伙伴肯定是一脸懵逼,我们可以看到两个寄存器PnM0和PnM1(n是指端口,例如P1、P2、P3……)也就是图中的P0.1中的0代表0端口,后面的0~7代表的是管脚。
重点:配置每一个io口时,这两个寄存器都是要配置的。
第一点:是要确定的是用的是什么端口拿P2端口来说,现在我们确定了是P2端口,那么我们之前的n写的就是2,等于说我们要配置的P2M0和P2M1这两个寄存器,
第二点:确定了端口后,我们根据自己需求的管脚来下一步的配置,假设我们用1管脚。
第三点:我们看会表,首先我们会发现有一条蓝色的虚线,将上下给圈起来了,再看看文字写了配置两个字,记住P2M0和P2M1,是8位同时配置的,现在我们配置的是P2.1管脚,那么我们就要再P2M0和P2M1的第二位同时配置。
确定好管脚后,根据我们需求的工作模式,我们在这里假设为推挽输出,
在这里插入图片描述
根据这张表就可以知道我们在P2M0的B1位写的1,P2M1的B1位写的0,那么P2M0的配置成0X02,P2M1写0X00(根据16进制 算法8421)。
在这里插入图片描述

不用的管脚最好是全部配置成高阻输入状态,至于为什么后面会说到。
除了我们需要的P2.1以外,来配置其他管脚
在这里插入图片描述

P2M0 = 0X02;P2M1 = 0XFD;
这里是根据8421码进行编写。
这样我们就配置好了GPIO口,最后一步把不用的GPIO口全部设置成高阻输入可以省略不做。

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅哥的小迷弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值