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