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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP