官术网_书友最值得收藏!

1.2 數據與程序內存

8051單片機存儲器組織結構如圖1-2所示,存儲器分為以下4部分:

(1)片內程序存儲器(ROM)4KB;

(2)片外程序存儲器(ROM)64KB(含內部4KB);

(3)片內數據存儲器(RAM)256B;

(4)片外數據存儲器(RAM)64KB。

這4部分中的前2部分是程序ROM,片內程序ROM用于存放8051控制程序,本書各案例中8051單片機綁定的都是由C語言程序編譯鏈接生成的HEX程序文件,這相當在硬件環境下向4KB的8051單片機內部程序ROM燒寫HEX程序,要從片內ROM的4KB存儲器取指令時,需要將EA接高平。8051外部程序ROM可擴展到64KB,地址范圍為0000H~0FFFH的4KB內外ROM地址是重疊的,使用過程中要用EA的取值來區分,對于有內部ROM空間的8051單片機,EA可接高電平,單片機運行時會從內部程序ROM的0000H地址開始執行,當程序計數器(PC)的值超過0FFFH時,自動轉換到片外程序ROM的1000H~FFFH地址空間執行。對于沒有內部程序ROM的8051單片機,程序存放在外部ROM中,其EA引腳固定接低電平。

8051的數據RAM空間雖然很小,但它起著非常重要的作用,256B(字節)被分為兩個區,00H-7FH的128B空間是真正的RAM區,可讀/寫各種數據;80H~FFH的128B空間大部分專門用于特殊功能寄存器(SFR:Special Function Register),8051在這個空間安排了21個特殊功能寄存器,不論是用匯編語言還是用C語言編寫單片機程序,這些特殊功能寄存器都要重點掌握。

圖1-2 8051單片機存儲器結構

主站蜘蛛池模板: 勐海县| 沈丘县| 黄骅市| 敦化市| 台东县| 临沂市| 梓潼县| 肇东市| 海盐县| 仁化县| 波密县| 土默特右旗| 招远市| 富平县| 舞阳县| 耿马| 闸北区| 连云港市| 巴东县| 巫山县| 阿瓦提县| 南投市| 界首市| 东丽区| 米泉市| 甘德县| 丹凤县| 武胜县| 英山县| 承德市| 凯里市| 扬中市| 曲沃县| 比如县| 凤山县| 南阳市| 乌鲁木齐县| 乌拉特中旗| 苗栗县| 上蔡县| 连南|