成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

51單片機的存儲空間梳理

2024/04/23
2.4萬
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

我們在學習傳統(tǒng)的MCS-51單片機的時候,一定學習過51單片機的存儲結(jié)構(gòu)。傳統(tǒng)的MCS-51存儲器有三個空間,分別是片內(nèi)RAM(內(nèi)部數(shù)據(jù)存儲器)、片外RAM(外部擴展的數(shù)據(jù)存儲器) 和 ROM(內(nèi)部或者外部程序存儲器)。按照具體數(shù)據(jù)的物理存儲空間來說,MCS-51單片機在有四個物理存儲空間,它們分別是:片內(nèi)程序存儲器(片內(nèi)ROM)、片外程序存儲器(片外ROM)、片內(nèi)數(shù)據(jù)存儲器(片內(nèi)RAM)、片外數(shù)據(jù)存儲器(片外RAM)。

1、片內(nèi)RAM空間上述的這四種物理存儲空間中,最早的8031單片機,只有數(shù)據(jù)存儲器即內(nèi)部RAM是標配的,其他都需要外擴,而到來的8051兼容機中,內(nèi)部的數(shù)據(jù)存儲器(RAM)和內(nèi)部的程序存儲器(ROM)都成了標配。只不過更加不同型號,RAM和ROM的大小有些許區(qū)別。那么,在那個存儲器貴如金的年代,為何還要將RAM作為標配?而且這個還是價格非常昂貴的靜態(tài)RAM。這是因為,哈佛結(jié)構(gòu)的計算機,存儲器是整個計算體系的核心,你可以發(fā)現(xiàn),51單片機外設相關的存儲器,它們都被編入數(shù)據(jù)存儲器(RAM)的地址。如圖1所示。

圖1 MCS-51單片機內(nèi)部256字節(jié)RAM存儲分布

由圖1中,我們可以發(fā)現(xiàn),MCS-51單片機的地址范圍是00H到7FH (52系列延伸到FFH),為8位地址,所以最大可尋址的范圍為256個單元地址。這些地址被分成4個功能區(qū):

地址00H~1FH,共32字節(jié),分成四個工作寄存器區(qū),每區(qū)有寄存器 R0~R7。此存儲區(qū)如果需要使用寄存器進行數(shù)據(jù)的存儲,則可以直接使用寄存器尋址。如“MOV A,R0”。

地址20H-2FH,共16字節(jié),是位尋址區(qū),共有128個“位”,位地址:00~7FH。此區(qū)域的變量,也可按照字節(jié)尋址,來讀寫。如,我們將20H地址的第0位(0或者1)移入程序狀態(tài)字(PSW)的進位標志位(C),則可以:“MOV C, 20H.0”。

地址30H-7FH,這個區(qū)域內(nèi)的內(nèi)存空間,主要是存放用戶編寫程序時產(chǎn)生的臨時數(shù)據(jù),這塊區(qū)域內(nèi)的尋址方式都為間接尋址,而且只能按照字節(jié)單位進行尋址。如果使用C語言要訪問內(nèi)部存儲區(qū),那么你所定義的指針只能指向這一片地址。

地址80H-FFH,此區(qū)域為特殊功能寄存器區(qū)(SFR),共有128個地址,其中離散的分布著21個特殊功能寄存器,必須直接尋址才能讀寫。另外,部分地址可以被8整除的特殊功能寄存器,也可以支持位尋址。(52系列,在此范圍,還有128字節(jié)的 RAM,必須間接尋址才能讀寫)。

注意,在51單片機的內(nèi)部RAM中進行編程的時候,必須使用MOV指令進片內(nèi)RAM的讀寫。

 2、外部RAM擴展除了內(nèi)部RAM的這些存儲空間,MCS-51單片機也支持外部RAM的擴展。普通51單片機最大可以片外擴展64K字節(jié)空間的RAM,其地址范圍為0000H~FFFFFH,我們可以使用標準MCS-51單片機的P0口和P2口對RAM進行擴展。其擴展電路如圖2所示。

圖2 外部RAM擴展

片外RAM地址的最大范圍是0000H到FFFFH,即最大容量為64KB。對片外RAM讀寫,必須使用 MOVX 指令。對片外RAM采用間接尋址方式,R0、R1和DPTR都可以做為間接尋址寄存器,R0、R1是8位的寄存器,即R0、R1的尋址范圍最大為256個單元,而DPTR是16位地址指針,尋址范圍就可達到64KB。也就是說在尋址片外RAM時,尋址范圍超過了256B,就不能用R0、R1做為間接尋址寄存器,而必須用DPTR寄存器做為間接尋址寄存器。

3、片外ROM擴展除了RAM可以擴展之外,51單片機還支持外部程序存儲器的擴展,此時做外ROM擴展的時候,需要使用到PSEN引腳去做芯片的選通。PSEN(非)為外部程序存儲器讀選通信號,在讀外部ROM時PSEN(非)低電平有效,以實現(xiàn)外部ROM單元的讀操作,全拼為Program Store Enable。外部ROM的擴展電路如圖3所示。

圖3 MCS-51單片機外部ROM擴展

ROM的地址范圍是0000H到FFFFH,容量即為64KB,地址長度16位,作用是 存放程序及程序運行時所需的常數(shù)。其中4K地址(0000~0FFFH)的空間保留在了在片內(nèi),剩余的其它地址被用作片外ROM的地址,因此如果要擴展片外ROM,則其地址范圍最大為(0x1000~0xffff)。當引腳EA為高電平時,則尋址內(nèi)部ROM,當EA為低電平時,則尋址外部ROM。如果單片機想要讀取ROM中的數(shù)據(jù),必須使用 MOVC 指令。

相關推薦

达日县| 衡阳市| 崇礼县| 漯河市| 威信县| 上饶市| 巴林左旗| 东至县| 灌云县| 陈巴尔虎旗| 东光县| 武乡县| 新乡县| 荥阳市| 四平市| 绥棱县| 潢川县| 林西县| 宁乡县| 东方市| 靖宇县| 华宁县| 嫩江县| 安康市| 饶河县| 龙泉市| 长汀县| 大冶市| 东城区| 济源市| 若尔盖县| 明水县| 罗平县| 林周县| 余干县| 奈曼旗| 简阳市| 措勤县| 泌阳县| 沂南县| 吉水县|