Intel 8051 內部資料儲存器組織


8051 的內部資料儲存器分為兩部分:一組八個暫存器和一個暫存器儲存區。這八個暫存器為 R0 到 R7。地址範圍 00H 到 07H 用於訪問這些暫存器,其餘部分為暫存器儲存區。

8051 提供四個暫存器組,但任何時候只能使用一個暫存器組。程式狀態字 (PSW) 的兩位用於選擇暫存器組。

因此,可以使用以下定址方式來選擇暫存器組。

地址範圍暫存器組
00H 到 07H暫存器組 0
08H 到 0FH暫存器組 1
10H 到 17H暫存器組 2
18H 到 1FH暫存器組 3

四個暫存器組的概念非常有用。對於中斷服務,此功能非常出色。中斷程式可以使用一個暫存器組,而中斷服務子程式 (ISS) 可以訪問另一個暫存器組以提高效能。由於有四個暫存器組,因此可以用於巢狀中斷。

當所有暫存器組都正在使用時,暫存器區域將為 20H 到 7FH。但是,從 20H 到 2FH (16 位元組或 128 位) 可以用作按位定址的 RAM。透過使用一些帶有 8 位記憶體地址的簡單指令,我們可以檢查位定址。例如,指令 **CLR 6FH** 清除位置 6FH。眾所周知,8 位地址可以定位 256 個不同的位置,但此處僅可定址 128 位。另一個按位定址位置部分為 80H 到 FFH。RAM 的其餘位置 (30H 到 7EH) 可用於儲存變數資料和堆疊。

堆疊區域

8051 中的堆疊區域始終可以在內部資料儲存器中實現。這裡的堆疊指標 (SP) 只是一個 8 位暫存器,因為內部 RAM 區域僅在 00H 到 7FH 範圍內,當所有暫存器組都正在使用時,堆疊位置將位於 30H 到 7FH 範圍內。在這種情況下,SP 將初始化為 2FH。

每次 PUSH 操作之前,堆疊指標 SP 都遞增;每次 POP 指令之後都遞減。

當 8051 復位時,堆疊指標將指向 07H。這意味著位置 08H 到 7FH 可以用作堆疊。我們假設暫存器組 0 正在使用,並且 20H 到 27H 不像位定址區域。

更新於:2023年9月14日

34K+ 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告