Intel 8051 内部RAM组织


8051 微控制器的内部RAM分为两部分。第一部分用于寄存器组、位寻址内存位置、堆栈等。另一部分是SFR(特殊功能寄存器)区域。该微控制器只能使用SFR区域中的21个地址。在这21个位置中,有11个是位寻址SFR位置。

位寻址SFR如下所示:

寄存器
字节地址
位地址
P0 (端口0)
80H
80H 至 87H
P1 (端口1)
90H
90H 至 97H
P2 (端口2)
A0H
A0H 至 A7H
P3 (端口3)
B0H
B0H 至 B7H
PSW
D0H
D0H 至 D7H
寄存器A(累加器)
E0H
E0H 至 E7H
寄存器B
F0H
F0H 至 F7H
TCON(定时器控制)
88H
88H 至 8FH
SCON(串行控制)
98H
98H 至 9FH
IE(中断允许)
A8H
A8H 至 AFH
IP(中断优先级)
B8H
B8H 至 BFH


现在让我们详细了解PSW寄存器。

PSW(程序状态字)基本上是传统的标志寄存器。它是位寻址SFR。PSW的字节地址是D0H。虽然位范围D0H到D7H被认为是PSW,但只有7位有效。

标志位
位地址
描述
Cy
D7H
进位标志。它受执行加法、减法、带进位旋转等指令的影响。它也可以用作1位累加器。
Ac
D6H
辅助进位标志。用于BCD运算。此标志用户无法直接使用。
F0
D5H
它是用户定义的标志位。此标志是通用标志。
RS1 和 RS0
D4H 和 D3H
这两个位用于寄存器选择。这两个标志可以选择四个寄存器组。
Ov
D2H
这是溢出标志。当加法或减法结果超出带符号的8位范围(-128到127)时,此标志被启用。
X
D1H
这是为将来使用保留的。
P
D0H
这是奇偶校验标志。执行指令后,它检查累加器中1的个数,并据此启用或禁用。


8085 有 Z 标志(零标志)。该标志未在此 8051 微控制器中实现。在这里,可以通过直接测试累加器内容来检查零或非零条件。

RS1 和 RS0 用于选择寄存器组,如下所示:

RS1
RS0
寄存器组
0
0
寄存器组 0
0
1
寄存器组 1
1
0
寄存器组 2
1
1
寄存器组 3


我们已经显示了11个可寻址位。其余10位不可位寻址。

寄存器
字节地址
SP(堆栈指针)
81H
DPL(数据指针低位)
82H
DPH(数据指针高位)
83H
PCON(电源控制)
87H
TMOD(定时器模式)
89H
TL0(定时器0低位)
8AH
TL1(定时器1低位)
8BH
TH0(定时器0高位)
8CH
TH1(定时器1低位)
8DH
SBUF(串行缓冲器)
99H


复位8051后,SFA将遵循以下规则:

  • 堆栈指针将保存07H

  • 所有端口(P0到P3)将包含FFH

  • SBUF将保存垃圾值

  • 所有其他SFA将保存00H

更新于:2020年6月27日

17K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告