您的位置 首页 观点

技巧 3 — Keil C51 中 P1.0、P1^0、P1_0 的差异

以KeiluVision2为例,在安装路径下的\C51\INC文件夹中,打开reg52.h头文件,可以看到:#ifndef__REG52_H__#de…

Keil uVision2 为例,在装置途径下的 \ C51 \ INC 文件夹中,翻开 reg52.h 头文件,能够看到:

  #ifndef__REG52_H__
  #define__REG52_H__

  /* BYTE Registers */
  sfrP0 = 0x80;
  sfrP1 = 0x90;
  sfrP2 = 0xA0;
  sfrP3 = 0xB0;
  sfrPSW = 0xD0;
  sfrACC = 0xE0;

其间sfr关键字是 C51 特有的关键字,它用来界说变量和地址的对应联系。如sfrP0 = 0x80,意思便是:P0 口的地址是 0x80。(0x80 是 C51 的写法,等价于汇编的 80H)

然后进入正题:

P1.0 指的是单片机 P1 口的第 0 位,A51 汇编编程时运用,如SETBP1.0

P1^0 指的是上面图中,头文件中界说的 P1 寄存器的第 0 位,C51 编程时运用

P1_0 原本无特别意义,当你想在 C51 中,运用 P1 口的第 0 位时,需求指定一个变量代表 P1^0(是不是有必要的,博主没有实验过),这时候就需求运用sbit关键字,用法如下:

  sbitP1_0 = P1^0;

  sbitXXXX = P1^0;

也便是说,P1_0 仅仅个变量称号,实际上变量名用什么都能够(条件是契合命名规矩)

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/268082.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部