單片機(jī)內(nèi)部的存儲(chǔ)器結(jié)構(gòu)
存儲(chǔ)器是計(jì)算機(jī)的重要硬件之一,單片機(jī)存儲(chǔ)器結(jié)構(gòu)有兩種類型:一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,屬于普林斯頓結(jié)構(gòu),另一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)編址的哈佛結(jié)構(gòu)。 MCS-51 采用的是哈佛結(jié)構(gòu)。
一、存儲(chǔ)器具有的特點(diǎn)
程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開(kāi),各有自己的尋址系統(tǒng),控制信號(hào)和特定的功能。程序存儲(chǔ)器只存放程序和始終要保留的常數(shù),數(shù)據(jù)存儲(chǔ)器通常用來(lái)存放程序運(yùn)行中所需要的大量數(shù)據(jù)。
單片機(jī)中與存儲(chǔ)器有關(guān)的名稱有:程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器、內(nèi)部存儲(chǔ)器和外部存儲(chǔ)器、字節(jié)地址和位地址。存儲(chǔ)器有一定的容量,常把一個(gè) 8 位二進(jìn)制數(shù)作基本單位,叫作字節(jié)。存儲(chǔ)器有很多字節(jié)單元,也用二進(jìn)制數(shù)來(lái)標(biāo)識(shí),叫地址。這些存儲(chǔ)器空間的地址多數(shù)從零開(kāi)始編址。 8 位地址 00H ~ FFH ,十六位地址 0000H ~ FFFFH 。由于每一位十六進(jìn)制數(shù)可直接換成四位二進(jìn)制數(shù)(如 0H—0000B、 9H—1001B、 FH—1111B ,其中 H 代表十六進(jìn)制數(shù)標(biāo)識(shí)符, B 代表二進(jìn)制數(shù)標(biāo)識(shí)符),以后我們也把兩位十六進(jìn)制數(shù)說(shuō)成是 8 位二進(jìn)制數(shù)
工作寄存器以 RAM 形式組成, I/O 接口也采用存儲(chǔ)器方式工作。工作寄存器、 I/O 口鎖存器和數(shù)據(jù)存儲(chǔ)器 RAM 在單片機(jī)中統(tǒng)一編址。
具有一個(gè)功能很強(qiáng)的布爾處理器,可尋址位空間有 256 位。
二、MCS-51 具有的存儲(chǔ)器編址空間
MCS-51 單片機(jī)寄儲(chǔ)器結(jié)構(gòu)如圖所示。有六個(gè)編址空間,有四個(gè)物理存儲(chǔ)器空間:
① 即由 PC 作地址指針的片內(nèi) 4K (0000H-0FFFH)程序存儲(chǔ)器。
?、?片外 4K+60K(0000H-FFFFH) 程序存儲(chǔ)器。
?、?由數(shù)據(jù)指針作地址的片外 64K 數(shù)據(jù)存儲(chǔ)器。
?、?片內(nèi) 8 位地址的 128 字節(jié) RAM ( 00H-7FH )和特殊功能寄存器 (80H-FFH) 。
程序存儲(chǔ)器,片內(nèi) 4K 程序存儲(chǔ)器空間,其地址為 0000H ~ 0FFFH ,外部 EPROM 也從 0000H 開(kāi)始編址。在地址 0000H ~ 0FFFH 區(qū)間,地址有重疊,由 EA 引腳信號(hào)來(lái)控制內(nèi)、外程序存儲(chǔ)器的選擇。
EA =0 時(shí),不管 PC 值的大小, CPU 總是訪問(wèn)外部程序存儲(chǔ)器。對(duì)于 8031 芯片,其內(nèi)部沒(méi)有程序存儲(chǔ)器,必然外接 EPROM ,所以 EA 必須接地,即 EA =0 時(shí)。外部程序存儲(chǔ)器從 0000H 開(kāi)始編址,尋址范圍 64K 。當(dāng) EA =1 時(shí),先執(zhí)行內(nèi)部 4K 程序,滿 4K 后接著執(zhí)行外部程序。
程序存儲(chǔ)器以 16 位的程序計(jì)數(shù)器 PC 作為地址指針可尋址 64K 字節(jié)空間范圍, PSEN 作為程序存儲(chǔ)器的讀選通信號(hào)。
程序存儲(chǔ)器也存放程序所需要的常數(shù)。單片機(jī)以指令形式的不同來(lái)區(qū)分是訪問(wèn)程序存儲(chǔ)器,還是訪問(wèn)數(shù)據(jù)存儲(chǔ)器,凡是從程序存儲(chǔ)器的常數(shù)表中取數(shù)據(jù)時(shí),都要用查表指令 MOVC 形式。
編輯:admin 最后修改時(shí)間:2018-05-08