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
廣告