存儲器屬于常見產品,在各類需要存儲功能的器件中均存在存儲器身影。本文中,小編將對單片機內部的各大存儲器:程序存儲器、數據存儲器、特殊功能寄存器予以介紹。
一、程序存儲器
程序是控制計算機動作的一系列命令,單片機只認識由“0”和“1”代碼構成的機器指令。如前述用助記符編寫的命令 MOV A,#20H,換成機器認識的代碼 74H、20H:(寫成二進制就是 01110100B 和 00100000B)。在單片機處理問題之前必須事先將編好的程序、表格、常數匯編成機器代碼后存入單片機的存儲器中,該存儲器稱為程序存儲器。程序存儲器可以放在片內或片外,亦可片內片外同時設置。由于 PC 程序計數器為 16 位,使得程序存儲器可用 16 位二進制地址,因此,內外存儲器的地址最大可從 0000H 到 FFFFH。8051 內部有 4k 字節的 ROM,就占用了由 0000H~0FFFH 的最低 4k 個字節,這時片外擴充的程序存儲器地址編號應由 1000H 開始,如果將 8051 當作 8031 使用,不想利用片內 4kROM,全用片外存儲器,則地址編號仍可由 0000H 開始。不過,這時應使 8051 的第{31}腳(即 EA 腳)保持低電平。當 EA 為高電平時,用戶在 0000H 至 0FFFH 范圍內使用內部 ROM,大于 0FFFH 后,單片機 CPU 自動訪問外部程序存儲器。
二、數據存儲器
單片機的數據存儲器由讀寫存儲器 RAM 組成。其最大容量可擴展到 64k,用于存儲實時輸入的數據。8051 內部有 256 個單元的內部數據存儲器,其中 00H~7FH 為內部隨機存儲器 RAM,80H~FFH 為專用寄存器區。實際使用時應首先充分利用內部存儲器,從使用角度講,搞清內部數據存儲器的結構和地址分配是十分重要的。因為將來在學習指令系統和程序設計時會經常用到它們。8051 內部數據存儲器地址由 00H 至 FFH 共有 256 個字節的地址空間,該空間被分為兩部分,其中內部數據 RAM 的地址為 00H~7FH(即 0~127)。而用做特殊功能寄存器的地址為 80H~FFH。在此 256 個字節中,還開辟有一個所謂“位地址”區,該區域內不但可按字節尋址,還可按“位(bit)”尋址。對于那些需要進行位操作的數據,可以存放到這個區域。從 00H 到 1FH 安排了四組工作寄存器,每組占用 8 個 RAM 字節,記為 R0~R7。究竟選用那一組寄存器,由前述標志寄存器中的 RS1 和 RS0 來選用。在這兩位上放入不同的二進制數,即可選用不同的寄存器組。
三、特殊功能寄存器
特殊功能寄存器(SFR)的地址范圍為 80H~FFH。在 MCS-51 中,除程序計數器 PC 和四個工作寄存器區外,其余 21 個特殊功能寄存器都在這 SFR 塊中。其中 5 個是雙字節寄存器,它們共占用了 26 個字節。各特殊功能寄存器的符號和地址見附表 2。其中帶*號的可位尋址。特殊功能寄存器反映了 8051 的狀態,實際上是 8051 的狀態字及控制字寄存器。用于 CPU PSW 便是典型一例。這些特殊功能寄存器大體上分為兩類,一類與芯片的引腳有關,另一類作片內功能的控制用。與芯片引腳有關的特殊功能寄存器是 P0~P3,它們實際上是 4 個八位鎖存器(每個 I/O 口一個),每個鎖存器附加有相應的輸出驅動器和輸入緩沖器就構成了一個并行口。MCS-51 共有 P0~P3 四個這樣的并行口,可提供 32 根 I/O 線,每根線都是雙向的,并且大都有第二功能。其余用于芯片控制的寄存器中,累加器 A、標志寄存器 PSW、數據指針 DPTR 等的功能前已提及,而另一些寄存器的功能在后面有關部分再作進一步介紹。
審核編輯黃宇
-
寄存器
+關注
關注
31文章
5363瀏覽量
121199 -
存儲器
+關注
關注
38文章
7528瀏覽量
164350
發布評論請先 登錄
相關推薦
評論