
- 嵌入式系統基礎教程
- 嵌入式系統 - 首頁
- 嵌入式系統 - 概述
- 嵌入式系統 - 處理器
- 嵌入式系統 - 體系結構
- 嵌入式系統 - 工具和外設
- 嵌入式系統 - 8051 微控制器
- 嵌入式系統 - I/O 程式設計
- 嵌入式系統 - 術語
- 嵌入式系統 - 組合語言
- 嵌入式系統 - 暫存器
- 嵌入式系統 - 暫存器組/堆疊
- 嵌入式系統 - 指令
- 嵌入式系統 - 定址模式
- 嵌入式系統 - 特殊功能暫存器
- 嵌入式系統 - 定時器/計數器
- 嵌入式系統 - 中斷
- 嵌入式系統資源
- 嵌入式系統 - 快速指南
- 嵌入式系統 - 有用資源
- 嵌入式系統 - 討論
嵌入式系統 - 特殊功能暫存器 (SFR)
特殊功能暫存器(或特殊用途暫存器,或簡稱特殊暫存器)是微處理器中控制或監控微處理器各種功能的暫存器。由於特殊暫存器與處理器的某些特殊功能或狀態密切相關,因此它們可能無法透過普通指令(如加法、移動等)直接寫入。相反,某些處理器體系結構中的一些特殊暫存器需要特殊的指令來修改它們。
在 8051 中,暫存器 A、B、DPTR 和 PSW 屬於通常稱為 SFR(特殊功能暫存器)的暫存器組的一部分。可以按名稱或地址訪問 SFR。
下表顯示了 SFR 列表及其地址。
位元組地址 | 位地址 | ||||||||
---|---|---|---|---|---|---|---|---|---|
FF | |||||||||
F0 | F7 | F6 | F5 | F4 | F3 | F2 | F1 | F0 | B |
E0 | E7 | E6 | E5 | E4 | E3 | E2 | E1 | E0 | ACC |
D0 | D7 | D6 | D5 | D4 | D3 | D2 | - | D0 | PSW |
B8 | - | - | - | BC | BB | BA | B9 | B8 | IP |
B0 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 | P3 |
A2 | AF | - | - | AC | AB | AA | A9 | A8 | IE |
A0 | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | P2 |
99 | 不可位定址 | SBUF | |||||||
98 | 9F | 9E | 9D | 9C | 9B | 9A | 99 | 98 | SCON |
90 | 97 | 96 | 95 | 94 | 93 | 92 | 91 | 90 | P1 |
8D | 不可位定址 | TH1 | |||||||
8C | 不可位定址 | TH0 | |||||||
8B | 不可位定址 | TL1 | |||||||
8A | 不可位定址 | TL0 | |||||||
89 | 不可位定址 | TMOD | |||||||
88 | 8F | 8E | 8D | 8C | 8B | 8A | 89 | 88 | TCON |
87 | 不可位定址 | PCON | |||||||
83 | 不可位定址 | DPH | |||||||
82 | 不可位定址 | DPL | |||||||
81 | 不可位定址 | SP | |||||||
80 | 87 | 87 | 85 | 84 | 83 | 82 | 81 | 80 | P0 |
關於 SFR 地址,請考慮以下兩點。
特殊功能暫存器可以具有 80H 到 FFH 之間的地址。這些地址高於 80H,因為 00 到 7FH 的地址是 8051 內部 RAM 記憶體的地址。
並非 80 到 FF 的所有地址空間都由 SFR 使用。未使用的地址(80H 到 FFH)是保留的,8051 程式設計師不得使用。
CY | PSW.7 | 進位標誌 |
AC | PSW.6 | 輔助進位標誌 |
F0 | PSW.5 | 使用者可用的通用標誌 0。 |
RS1 | PSW.4 | 暫存器組選擇位 1 |
RS0 | PSW.3 | 暫存器組選擇位 0 |
OV | PSW.2 | 溢位標誌 |
- | PSW.1 | 使用者可定義標誌 |
P | PSW.0 | 奇偶標誌。在指令週期中由硬體設定/清除,以指示累加器中 1 位的奇偶數。 |
在下面的示例中,SFR 暫存器的名稱被它們的地址替換。
CY | AC | F0 | RS1 | RS0 | OV | - | P |
---|
我們可以使用 RS0 和 RS1 位選擇相應的暫存器組位。
RS1 | RS2 | 暫存器組 | 地址 |
---|---|---|---|
0 | 0 | 0 | 00H-07H |
0 | 1 | 1 | 08H-0FH |
1 | 0 | 2 | 10H-17H |
1 | 1 | 3 | 18H-1FH |
程式狀態字 (PSW) 包含狀態位,以反映 CPU 的當前狀態。8051 變體提供一個特殊功能暫存器 PSW,其中包含此狀態資訊。8251 提供兩個附加狀態標誌 Z 和 N,它們在稱為 PSW1 的第二個特殊功能暫存器中可用。
廣告