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