0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C51单片机的IO口介绍(上)

CHANBAEK 来源:Zi Jin Code 作者:锟酱不是酱 2023-11-02 10:56 次阅读

前面两篇文章我铺垫了IO输出高低电平的方法:

sbit LED = P1^0;//给一个IO定义名字
LED = 1;//操作这个IO的高低电平


P1 = 0xFF;//直接修改一组IO寄存器的数据

我们知道,C51里一共有4组IO,分别是P0,P1,P2,P3

图片

每一组有8位,分别是.0 ~ .7

图片

单片机里面有特定的4个寄存器对应这四组IO,分别是

对应IO组P0P1P2P3
寄存器地址0x800x900xA00xB0

值得一提的是,在"reg52.h"中已经对这些寄存器进行了定义

sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;

有了这些在reg52.h的头文件里的定义,我们就能直接用P0,P1,P2,P3这些关键字修改寄存器的数值了

P0 = 0xDF;
P1 = 0x3F;
P2 = 0xDE;
P4 = 0x58;

这些寄存器都是可位寻址的,具体的各个IO的地址和上面各组寄存器的地址我们先不用记住(因为我们基本上用不上)

但是我们要记住每一组IO中,各个IO对应的位:

IO.7.6.5.4.3.2.1.0
76543210

如果我们要让7,5,4IO都是高电平,其他的都是低电平,对应的二进制:1011 0000(高位在前)

因为是可位寻址,所以我们可以用sbit,对特定的一个IO定义一个名字

比如说我们的LED接在P0.0

sbit LED = P0^0;

这篇文章先写到这里,接下来我们介绍单片机的IO的简单结果,至于后事如何,且听下回分解

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6031

    文章

    44507

    浏览量

    632481
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119936
  • C51单片机
    +关注

    关注

    12

    文章

    164

    浏览量

    34710
  • IO口
    +关注

    关注

    3

    文章

    169

    浏览量

    23981
收藏 人收藏

    评论

    相关推荐

    C51单片机IO原理及51 C语言

    C51单片机IO原理及51 C语言
    发表于 07-05 11:51

    C51单片机并行扩展设计及应用

    C51单片机是我们生活中最常用的系列,MCS-51系列单片机有4个并行(P0,P1,P2,P3
    发表于 10-28 16:02 33次下载
    <b class='flag-5'>C51</b><b class='flag-5'>单片机</b>并行<b class='flag-5'>口</b>扩展设计及应用

    单片机基础知识C51

    单片机基础知识C51版,学习单片机的基础知识。包括单片机的简介,单片机的程序如何写,单片机的应用
    发表于 11-18 16:48 0次下载

    51单片机IO工作原理

    51单片机IO工作原理。。。。。。。。
    发表于 03-04 15:31 11次下载

    89C51单片机IO模拟串行通信的实现方法

    89C51 单片机IO 模拟串行通信的实现方法
    发表于 08-31 13:56 20次下载

    单片机IO介绍

    单片机IO介绍
    发表于 02-14 16:54 25次下载

    51单片机、AVR单片机和PIC单片机IO操作

    51单片机、AVR单片机和PIC单片机IO结构的均不同,导致了
    发表于 02-20 20:25 1.1w次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>、AVR<b class='flag-5'>单片机</b>和PIC<b class='flag-5'>单片机</b>的<b class='flag-5'>IO</b><b class='flag-5'>口</b>操作

    基于89c51单片机IO操作的几个历程资料分享

    基于89c51单片机IO操作的几个历程
    发表于 04-23 15:37 16次下载
    基于89<b class='flag-5'>c51</b><b class='flag-5'>单片机</b><b class='flag-5'>IO</b><b class='flag-5'>口</b>操作的几个历程资料分享

    51单片机如何读写AT29C040?51单片机读写AT29C040的c51程序免费下载

    本文档的主要内容介绍的是51单片机如何读写AT29C040?给大家介绍一个51
    发表于 09-06 15:00 26次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>如何读写AT29<b class='flag-5'>C</b>040?<b class='flag-5'>51</b><b class='flag-5'>单片机</b>读写AT29<b class='flag-5'>C</b>040的<b class='flag-5'>c51</b>程序免费下载

    PIC单片机以及51单片机和AVR单片机IO操作方法介绍

    51单片机IO的结构比较简单,每个IO只有一个IO
    发表于 09-11 15:19 2011次阅读

    单片机C51程序设计的学习课件免费下载

    本文档的主要内容详细介绍的是单片机C51程序设计的学习课件免费下载包括了:1、C51程序设计基础,2、C51的数据类型及其在
    发表于 11-24 17:24 63次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>C51</b>程序设计的学习课件免费下载

    单片机IO操作总结

    单片机IO操作总结一、单片机IO概述二、单片机
    发表于 11-05 13:06 31次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>IO</b><b class='flag-5'>口</b>操作总结

    C51单片机流水灯C代码

    C51单片机流水灯C代码
    发表于 11-05 15:20 34次下载
    <b class='flag-5'>C51</b><b class='flag-5'>单片机</b>流水灯<b class='flag-5'>C</b>代码

    C51单片机C52单片机内部的资源区别

    C52单片机可以理解为是C51单片机的增强版• 两个方面有差异,存储空间和定时器计数器方面有区别 ○ C52
    发表于 11-19 10:36 20次下载
    <b class='flag-5'>C51</b><b class='flag-5'>单片机</b>与<b class='flag-5'>C</b>52<b class='flag-5'>单片机</b>内部的资源区别

    C51单片机IO介绍(下)

    一篇文章我们对C51IO简单的介绍了一下,现在我们来简单了解C51IO的结构
    的头像 发表于 11-02 10:57 2176次阅读
    <b class='flag-5'>C51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>IO</b><b class='flag-5'>口</b><b class='flag-5'>介绍</b>(下)