單片機的存儲器有程序存儲器ROM與數(shù)據(jù)存儲器RAM兩種。 這兩種存儲器在使用上是嚴格區(qū)分的,不得混用。 程序存儲器存放程序指令,以及常數(shù),表格等;而數(shù)據(jù)存儲器則存放緩沖數(shù)據(jù)。
MCS-51單片機存儲器的結構共有3部分:一是程序存儲器??二是內部數(shù)據(jù)存儲器 三是外部數(shù)據(jù)存儲器MCS-51單片機的存儲器可分為5類:程序存儲器、內部數(shù)據(jù)存儲器、特殊功能寄存器、位地址空間、外部數(shù)據(jù)存儲器
程序存儲器
程序是控制計算機動作的一系列命令,單片機只認識由“0”和“1”代碼構成的機器指令。如前述用助記符編寫的命令MOV A,#20H,換成機器認識的代碼74H、20H:(寫成二進制就是01110100B和00100000B)。在單片機處理問題之前必須事先將編好的程序、表格、常數(shù)匯編成機器代碼后存入單片機的存儲器中,該存儲器稱為程序存儲器。程序存儲器可以放在片內或片外,亦可片內片外同時設置。由于PC程序計數(shù)器為16位,使得程序存儲器可用16位二進制地址,因此,內外存儲器的地址最大可從0000H到FFFFH。8051內部有4k字節(jié)的ROM,就占用了由0000H~0FFFH的最低4k個字節(jié),這時片外擴充的程序存儲器地址編號應由1000H開始,如果將8051當做8031使用,不想利用片內4kROM,全用片外存儲器,則地址編號仍可由0000H開始。不過,這時應使8051的第{31}腳(即EA腳)保持低電平。當EA為高電平時,用戶在0000H至0FFFH范圍內使用內部ROM,大于0FFFH后,單片機CPU自動訪問外部程序存儲器。
數(shù)據(jù)存儲器
單片機的數(shù)據(jù)存儲器由讀寫存儲器RAM組成。其最大容量可擴展到64k,用于存儲實時輸入的數(shù)據(jù)。8051內部有256個單元的內部數(shù)據(jù)存儲器,其中00H~7FH為內部隨機存儲器RAM,80H~FFH為專用寄存器區(qū)。實際使用時應首先充分利用內部存儲器,從使用角度講,搞清內部數(shù)據(jù)存儲器的結構和地址分配是十分重要的。因為將來在學習指令系統(tǒng)和程序設計時會經常用到它們。8051內部數(shù)據(jù)存儲器地址由00H至FFH共有256個字節(jié)的地址空間,該空間被分為兩部分,其中內部數(shù)據(jù)RAM的地址為00H~7FH(即0~127)。而用做特殊功能寄存器的地址為80H~FFH。在此256個字節(jié)中,還開辟有一個所謂“位地址”區(qū),該區(qū)域內不但可按字節(jié)尋址,還可按“位(bit)”尋址。對于那些需要進行位操作的數(shù)據(jù),可以存放到這個區(qū)域。從00H到1FH安排了四組工作寄存器,每組占用8個RAM字節(jié),記為R0~R7。究竟選用那一組寄存器,由前述標志寄存器中的RS1和RS0來選用。在這兩位上放入不同的二進制數(shù),即可選用不同的寄存器組。
特殊功能寄存器
特殊功能寄存器(SFR)的地址范圍為80H~FFH。在MCS-51中,除程序計數(shù)器PC和四個工作寄存器區(qū)外,其余21個特殊功能寄存器都在這SFR塊中。其中5個是雙字節(jié)寄存器,它們共占用了26個字節(jié)。各特殊功能寄存器的符號和地址見附表2。其中帶*號的可位尋址。特殊功能寄存器反映了8051的狀態(tài),實際上是8051的狀態(tài)字及控制字寄存器。用于CPU PSW便是典型一例。這些特殊功能寄存器大體上分為兩類,一類與芯片的引腳有關,另一類作片內功能的控制用。與芯片引腳有關的特殊功能寄存器是P0~P3,它們實際上是4個八位鎖存器(每個I/O口一個),每個鎖存器附加有相應的輸出驅動器和輸入緩沖器就構成了一個并行口。MCS-51共有P0~P3四個這樣的并行口,可提供32根I/O線,每根線都是雙向的,并且大都有第二功能。其余用于芯片控制的寄存器中,累加器A、標志寄存器PSW、數(shù)據(jù)指針DPTR等的功能前已提及,而另一些寄存器的功能在后面有關部分再作進一步介紹。
地址空間
要保證多個應用程序同時處于內存中并且不互相影響,則需要解決兩個問題:保護和重定位。我們來看一個原始的對前者的解決辦法,它曾被用在IBM 360上:給內存塊標記上一個保護鍵,并且比較執(zhí)行進程的鍵和其訪問的每個內存字的保護鍵。然而,這種方法本身并沒有解決后一個問題,雖然這個問題可以通過在程序被裝載時重定位程序來解決,但這是一個緩慢且復雜的解決方法。
一個更好的辦法是創(chuàng)造一個新的內存抽象:地址空間。就像進程的概念創(chuàng)造了一類抽象的CPU以運行程序一樣,地址空間為程序創(chuàng)造了一種抽象的內存。地址空間是一個進程可用于尋址內存的一套地址集合。每個進程都有一個自己的地址空間,并且這個地址空間獨立于其他進程的地址空間(除了在一些特殊情況下進程需要共享它們的地址空間外)。
地址空間的概念非常通用,并且在很多場合中出現(xiàn)。比如電話號碼,在美國和很多其他國家,一個本地電話號碼通常是一個7位的數(shù)字。因此,電話號碼的地址空間是從0 000 000到9 999 999,雖然一些號碼并沒有被使用,比如以000開頭的號碼。隨著手機、調制解調器和傳真機數(shù)量的增長,這個空間變得越來越不夠用了,從而導致需要使用更多位數(shù)的號碼。Pentium的I/O端口的地址空間從0到16 383。IPv4的地址是32位的數(shù)字,因此它們的地址空間從0到232-1(也有一些保留數(shù)字)。
地址空間可以不是數(shù)字的。一套“.com”的互聯(lián)網域名也是地址空間。這個地址空間是由所有包含2~63個字符并且后面跟著“.com”的字符串組成的,組成這些字符串的字符可以是字母、數(shù)字和連字符。到現(xiàn)在你應該已經明白地址空間的概念了。它是很簡單的。
外部存儲器
軟盤、硬盤、光盤、U盤都是外部存儲器。 從馮.諾依曼的存儲程序工作原理及計算機的組成來說,計算機分為運算器、控制器、存儲器和輸入/輸出設備,這里的存儲器就是指內存,而硬盤屬于輸入/輸出設備。 CPU運算所需要的程序代碼和數(shù)據(jù)來自于內存,內存中的東西則來自于硬盤。所以硬盤并不直接與CPU打交道。 硬盤相對于內存來說就是外部存儲器。 存儲器是用來存儲器數(shù)據(jù)的,內存有告訴緩存和內存,計算機內部存儲,外存就是類似U盤的外部存儲,內存儲器 速度快 價格貴,容量小,斷電 后內存內數(shù)據(jù)會丟失。 外存儲器 單位價格低,容量大, 速度慢, 斷電后數(shù)據(jù)不會丟失。
- 單片機(619327)
- 存儲器(161620)
相關推薦
51單片機存儲器擴展問題
51單片機與中斷相關的寄存器簡介
51單片機尋址方式的疑問:為什么B寄存器在乘除法指令中是寄存器尋址?
51單片機的存儲器分為倆大部分
51系列單片機的內部存儲器簡介
8051單片機內部程序存儲器容量
單片機存儲器的相關資料下載
單片機存儲器結構
單片機存儲器結構資料大合集
單片機寄存器的資源有多充分呢
單片機中的存儲器介紹
單片機中的數(shù)據(jù)存儲器RAM有哪些特性呢
單片機教程(7)特殊功能寄存器
單片機數(shù)據(jù)存儲器擴展板設計
單片機的程序存儲器和數(shù)據(jù)存儲器共處同一地址空間為什么不會發(fā)生總線沖突呢?
存儲器與寄存器區(qū)別
存儲器與通用寄存器的相關資料下載
存儲器映射與寄存器映射的原理分別是什么
寄存器、內存(內存儲器)與外設寄存器
AT89S52單片機存儲器結構介紹
OSCCAL校準寄存器的使用方法
PIC單片機數(shù)據(jù)存儲器的特點和功能
sfr和sfr16直接對51單片機的特殊寄存器進行定義的方法有哪些?
【51單片機教程講堂】分析單片機的特殊功能寄存器
【NEC單片機學習】NEC單片機存儲器有哪些類型
為什么單片機定義的數(shù)組是存放在數(shù)據(jù)存儲器中
為什么塊存儲器沒有Din的原始輸出寄存器或核心輸出寄存器?
單寄存器加載與存儲指令
吳鑒鷹大侃單片機系列之——存儲器介紹
淺析51單片機存儲器結構
聊聊對單片機的內部存儲器RAM和FLASH的一些認識和理解
請問ADF4002內部自置的24位輸入寄存器,是什么類型的存儲器?
MCS-51單片機數(shù)據(jù)存儲器的擴展

PIC16C5X單片機寄存器文件

單片機存儲器,單片機存儲器結構原理是什么?


閃存存儲器是寄存器嗎?_寄存器和存儲器的區(qū)別

存儲器和寄存器的區(qū)別

51單片機寄存器功能一覽表


如何將PIC單片機的數(shù)據(jù)存儲器RAM當作寄存器來使用


51單片機的一些特殊寄存器資料說明

寄存器和存儲器的區(qū)別

如何將PIC單片機的數(shù)據(jù)存儲器RAM作為寄存器使用

單片機內部的三大存儲器介紹

單片機寄存器

[筆記]|[stm32]|[寄存器存儲器區(qū)別]|[PWM]|[串口]|[Timer]stm32f103筆記

寄存器和存儲器的區(qū)別


簡單區(qū)分寄存器、存儲器、RAM、ROM


cpu寄存器和存儲器的區(qū)別

單片機寄存器和存儲器哪個好

計算機寄存器和存儲器

16位和32位寄存器的區(qū)別 16位寄存器有哪些

單片機寄存器有哪些 單片機寄存器怎么理解 寄存器和單片機的關系

單片機工作寄存器作用 單片機常用專用寄存器

寄存器和存儲器如何區(qū)分

什么是寄存器和存儲器?寄存器與存儲器有何區(qū)別?


詳解PIC系列單片機數(shù)據(jù)存儲器轉換寄存器的指令

評論