8051微控制器的內部資料儲存結構
我們將瞭解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不像位可定址區域。
廣告