前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C51 单片机开发 I/O 口输入输出

C51 单片机开发 I/O 口输入输出

作者头像
码农UP2U
发布2024-03-18 14:44:58
1570
发布2024-03-18 14:44:58
举报
文章被收录于专栏:嵌入式码农UP2U嵌入式

前面的文章中基本把关于 C51 单片机开发的环境和概念整理完了,就剩下关于 I/O 口的整理了,有了 I/O 口(输入输出口,也就是开发板上的针脚吧,其实这些针脚是从单片机上引出的)的知识就可以让单片机和外设进行通信了,我们用 PC 时也是有了键盘、鼠标和显示器,才方便操作计算机。这篇文章就来整理一下关于 I/O 口的内容。

0x01:I/O 口(输入/输出口)

我使用的单片机是 STC89C52,它也是兼容 STC89C51 单片机的。STC89C52 单片机有 5 组输入输出口,分别是 P0、P1、P2、P3 这四个口,每组对应 8 个针脚,P4 口是 RC 系列才有的,它有 7 个针脚。

在手册中有管脚的说明,手册上叫管脚,开发板叫针脚,至少我是这么理解的。因为它们是对应的,针脚的电路最后都是接到单片机的管脚上的。所以怎么叫可能无所谓吧(如果这里说明有误,就抱歉了)。

手册上有关于这 5 组针脚的说明,分别在第 26 页和第 27 页,截图如下:

针脚的作用是单片机和外设通信的,也就是用来交换数据的。

对于单片机来讲,I/O 口的输入是把外设的数据(信号)接收回来,对于输出来说是把数据(信号)送到外设。

STC89C52 的 I/O 口使用比较简单,直接使用即可,无需配置!

0x02:简单示例

这里给一个简单的示例,示例中演示从 P1.0 针脚获取数据和把数据给到 P1.0 的 I/O 口,代码如下:

代码语言:javascript
复制
sbit IOPORT = P1 ^ 0;

int main()
{
    int io_data;
    // 把 I/O 口的数据赋值给变量,就是输入
    // 或者理解为,这个针脚有数据赋值给变量来保存
    io_data = IOPORT; 
    // 把一个数据给到引脚,使得引起 I/O 口电压变化
    // 一般 1 输出高电平,0 输出低电平
    // 此时为输出,来影响外接的电路
    IOPORT = 1; 
}

上面的例子就是一个简单的 P1.0 输入输出的例子。

简单来说,变量在单片机的内存中,I/O 的数据给变量赋值就是输入,因为 I/O 的数据来自于外设,把值赋值给某个引脚就是输出,因为会通过引脚把数据输出给外设。输入输出是针对单片机来讲的!

到此,单片机的很多基础概念、开发环境就全部整理完成了!后面会有一些简单的示例来进行更多的了解。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农UP2U 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档