173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

c51单片机sfr

htxw 2023-03-15 资讯中心 30 ℃

单片机 sfr定义

P0~P3、PSW、ACC等这些寄存器在sfr中的地址,是intel设计MCS-51单片机时就定下的。后来许多厂家生产51单片机时都沿用了这定义,以保证程序的兼容性。\r\n至于如下的寄存器\r\nsfr CLK_DIV = 0x97; //为STC单片机定义,系统时钟分频\r\nsfr P0M1 = 0X93;\r\nsfr P0M0 = 0X94;\r\nsfr P1M1 = 0X91;\r\nsfr P1M0 = 0X92;\r\nsfrP2M1 = 0X95;\r\nsfrP2M0 = 0X96;\r\n是STC生产的单片机,因为加入了自己设计的功能选项,所以就增加了这些寄存器。

51单片机的头文件里面的sfr P0=0x80和sfr P1=0x90这类的具体意思

sfr是用于定义特殊功能寄存器的。

sfr P0=0x80是指整一个P0(P0^0-P0^7)都在0x80地址。

你仔细看另外的特殊寄存器的地址定义啊,一看就明白了。如下取了一小段:

#ifndef __REG52_H__

#define __REG52_H__

/* BYTE Registers */

sfr P0 = 0x80;

sfr P1 = 0x90;

sfr P2 = 0xA0;

sfr P3 = 0xB0;

sfr PSW = 0xD0;

sfr ACC = 0xE0;

sfr B = 0xF0;

sfr SP = 0x81;

sfr DPL = 0x82;

sfr DPH = 0x83;

sfr PCON = 0x87;

sfr TCON = 0x88;

sfr TMOD = 0x89;

sfr TL0 = 0x8A;

sfr TL1 = 0x8B;

sfr TH0 = 0x8C;

sfr TH1 = 0x8D;

……

以上,看到了没有?

0X81是SP的地址,0X82是DPL的地址。

如果你再仔细点,就不会有这种疑问了,呵呵。

继续加油,祝你更大的进步!

51单片机sfr的物理位置

sfr定义了P0端口对应的物理地址为0x80,相当于给0x80地址的内存区域(寄存器)取别名P0。

c51单片机sfr的介绍就聊到这里吧,感谢您花时间阅读,谢谢。

本文标签:c51单片机sfr

<