當前位置:首頁 » 服務存儲 » 8051系列單片機3種存儲模式
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

8051系列單片機3種存儲模式

發布時間: 2022-05-12 19:11:59

① c51語言頭文件包括的內容有8051單片機

3章C51編程語言基礎
【內容概要】本章介紹有關C51語言編程的基礎知識,對C51語言與8051匯編語言編程進行比較,了解C51語言與標准C語言的差別,並對C51語言的數據類型與存儲類型,C51語言的基本運算,分支與循環結構,數組、指針、函數等也做以介紹。

隨著單片機應用系統的日趨復雜,對程序的可讀性、升級與維護以及模塊化的要求越來越高,對軟體編程的要求也越來越高,這就要求編程人員在短時間內編寫出執行效率高、運行可靠的程序代碼。同時,也要方便多個編程人員來進行協同開發。

C51語言是目前的8051單片機應用開發中,普遍使用的程序設計語言。C51語言能直接對8051單片機硬體進行操作,它既有高級語言的特點,又有匯編語言的特點,因此在8051單片機程序設計中,C51語言得到非常廣泛的使用。

3.1C51編程語言簡介

C51語言是在標准C語言的基礎上針對8051單片機的硬體特點進行了擴展,並向8051單片機上移植,經過多年努力,C51語言已成為公認的高效、簡潔的8051單片機的實用高級編程語言。與8051匯編語言相比,C51語言在功能上、結構性、可讀性、可維護性上有明顯優勢,且易學易用。

3.1.1C51語言與8051匯編語言的比較

與8051單片機匯編語言相比, C51語言具有如下優點。

(1)可讀性好。C51語言程序比匯編語言程序的可讀性好,編程效率高,程序便於修改、維護以及升級。

(2)模塊化開發與資源共享。用C51語言開發的程序模塊可以不經修改,直接被其他工程所用,使得開發者能夠很好地利用已有的大量標准C程序資源與豐富的庫函數,從而減少重復勞動,同時也有利於多個程序設計者協同開發。

(3)可移植性好。為某種型號單片機開發的C語言程序,只需將與硬體相關的頭文件和編譯鏈接的參數進行適當修改,就可方便地移植到其他型號的單片機上。例如,為8051單片機編寫的程序通過改寫頭文件以及少量的程序行,就可方便地移植到PIC單片機上。

(4)生成的代碼效率高。當前較好的C51語言編譯系統編譯出來的代碼,效率只比直接使用匯編語言低20%左右,如果使用優化編譯選項,最高效率可達到90%。

3.1.2C51語言與標准C語言的比較

C51語言與標准C語言有許多相同之處,但也有其自身的一些特點。不同的嵌入式C語言編譯系統之所以與標准C語言有不同的地方,主要是由於它們所針對的硬體系統不同。對於8051單片機,目前廣泛使用的是C51語言。

C51語言的基本語法與標准C語言相同,只是在標准C語言的基礎上進行了適合於8051內核單片機硬體的擴展。深入理解C51語言對標准C語言的擴展部分以及它們的不同之處,是掌握C51語言的關鍵之一。

C51語言與標准C語言的一些差別如下。

(1)庫函數的不同。標准C語言中的,不適合於嵌入式控制器系統的庫函數,被排除在C51語言之外,如字元屏幕和圖形函數,而有些庫函數必須針對8051單片機的硬體特點來做出相應的開發。例如,庫函數printf和scanf,在標准C語言中,這兩個函數通常用於屏幕列印和接收字元,而在C51語言中,主要用於串列口數據的收發。

(2)數據類型有一定區別。在C51語言中增加了幾種針對8051單片機特有的數據類型,在標准C語言的基礎上又擴展了4種類型。例如,8051單片機包含位操作空間和豐富的位操作指令,因此,C51語言與標准C語言相比增加了位類型。

(3)C51語言的變數存儲模式與標准C語言中的變數存儲模式數據不一樣。標准C語言最初是為通用計算機設計的,在通用計算機中只有一個程序和數據統一定址的內存空間,而C51語言中變數的存儲模式與8051單片機的各種存儲器區緊密相關。

(4)數據存儲類型的不同。8051單片機存儲區可分為內部數據存儲區、外部數據存儲區以及程序存儲區。內部數據存儲區可分為3個不同的C51存儲類型:data、idata和bdata。外部數據存儲區分為2個不同的C51存儲類型:xdata和pdata。程序存儲區只能讀不能寫,可能在8051單片機片內或在片外,C51語言提供的code存儲類型用來訪問程序存儲區。

② 8051的內部數據存儲器分為哪三個部分

咨詢記錄 · 回答於2021-10-18

③ 8051單片機片內數據存儲器的三個存儲區域是如何劃分的

8051內部數據RAM區,包括有工作寄存器組區、可直接位定址區和數據緩沖區。
(1)00H~1FH為工作寄存器組區,共分4組,每組佔用8個RAM位元組單元,每個單元作為一個工作寄存器,每組的8個單元分別定義為8個工作寄存器R0~R7。
(2)20H~2FH為可位定址區域,這16個位元組的每一位都有一個地址,編址為00H~7FH。
(3)30H~7FH為堆棧、數據緩沖區。

④ 、MCS 51單片機的存儲器從物理結構上和邏輯上分別可劃分幾個空間

MCS-51單片機在物理結構上有四個存儲空間:

1、片內程序存儲器

2、片外程序存儲器

3、片內數據存儲器

4、片外數據存儲器

但在邏輯上,即從用戶的角度上,8051單片機有三個存儲空間:

1、片內外統一編址的64K的程序存儲器地址空間(MOVC)

2、256B的片內數據存儲器的地址空間(MOV)

3、以及64K片外數據存儲器的地址空間(MOVX)

(4)8051系列單片機3種存儲模式擴展閱讀:

MCS-51系列單片機程序存儲器分為系統使用區和用戶使用區。其中0000H~002AH為系統使用區,其餘為用戶使用區。系統使用區固定6個地址為特定程序的入口地址,如下:

ROM地址 功能分配

0000H 系統復位後的入口

0003H 外部中斷0服務入口

000BH 定時器/計數器0中斷服務程序入口

0013H 外部中斷1服務程序入口

001BH 定時器/計數器1中斷服務程序入口

0023H 串口中斷服務程序入口

數據存儲區也稱為隨機存取存儲器(RAM),MCS-51單片機的數據存儲器分為兩個地址空間:內部數據存儲器、外部數據存儲器。

內部數據存儲器共有256B存儲空間,但只有低128B(地址為00H~7FH)是真正的數據存儲空間,可供用戶進行讀或寫操作,高128B(地址為80H~FFH)是單片機的特殊功能寄存器區(SFR)。


⑤ 8051單片機內部RAM低128單元劃分為哪三個部分各有什麼特點

0x00~0x1f 4組通用工作寄存器0x20~0x2f 128位的位定址0x30~0x7f 用戶RAM區

(1)工作寄存器組(00H——1FH)

這是一個用寄存器直接定址的區域,內部數據RAM區的0—31,共32個單元。它是4個通用工作寄存器組,每個組包含8個8位寄存器,編號為R0——R7。

(2)可位定址RAM區(20H——2FH)

16個位元組單元,共包含128位,這16個位元組單元既可以進行位元組定址,又可以實現位定址。主要用於位定址。

(3)通用的RAM區(30H——7FH)

用於設置堆棧、存儲數據。

(5)8051系列單片機3種存儲模式擴展閱讀:

PC 機的CPU 是基於馮諾伊曼的體系結構,然而MCU(單片機)、Dsp(數字信號處理器)都是基於哈佛結構的體系結構。哈佛結構與馮諾伊曼結構有很大的不同,在馮諾伊曼體系結構下只有一個地址空間,ROM 和RAM 可以隨意安排在這一地址范圍內的不同空間,即ROM 和RAM 地址統一分配。

CPU 訪問存儲器時,一個地址對應唯一的存儲單元,可能是ROM,也可能是RAM。而哈佛結構下ROM 和RAM 是分開編址,即程序和數據分開保存,訪問時用不同的指令加以區分,並可同時訪問,在這樣的體系結構下有利於提高指令的執行速度。在後面的章節我們將詳細介紹單片機的存儲器配置。

⑥ MCS-51系列單片機的存儲器可劃分為幾個空間,地址范圍以及容量是多少在使用上有何不同

MCS-51單片機在物理的角度上有四個存儲空間:

1、片內程序存儲器

2、片外程序存儲器

3、片內數據存儲器

4、片外數據存儲器

但在邏輯上,從用戶的角度上,單片機有三個存儲空間:

1、片內外統一編址的64K的程序存儲器地址空間(MOVC)

2、256B的片內數據存儲器的地址空間(MOV)

3、以及64K片外數據存儲器的地址空間(MOVX)

⑦ 8051單片機存儲器分為哪兩大部分指令格式由什麼和什麼兩部分組成

8051單片機存儲器分為數據存儲器空間和程序存儲器空間兩大部分。
而不是(外部數據存儲器空間和程序存儲器空間,兩大部分外部數據存儲器空)
指令格式並不一定有兩部分組成,應該分什麼指令格式。
如:匯編語言指令格式,是有五部分組成。
1,
標號
2,助記符
3,目的操作數
4,源操作數
5,註解·

⑧ 8051單片機的主要存儲空間是什麼

8051的通用寄存器(r0-r7)通過PSW映射在IRAM的0x00開始到0x20結束,共4組,每組8位元組。

至於累加器(ACC),輔助寄存器(B)和數據指針寄存器(DPTR)是編址在IRAM中的。8051其實類似堆棧機模型,而且CPU和IRAM的關聯度非常高,不像現代的計算機結構一樣容易分離。不過如果將IRAM看待為一個大型REGISTER FILE,就更好分析8051系統了。你可以認為IRAM就是個巨大的寄存器組,CPU直接訪問IRAM的效率和寄存器的效率差別不大。

並且8051背負的歷史包袱太嚴重。原本IRAM的0x00-0x7f作為RAM使用,0x80-0xff作為SFR使用。而後8052這款晶元將0x80-0xff這段IRAM的作用增多:指針訪問做RAM,直接訪問做SFR。這樣直接導致了8051訪存效率的降低以及初學者經常拎不清楚的問題出現。同樣,外部的XRAM和ROM的訪問必須依賴DPTR等指針訪問,這迫使不少增強型8051單片機生產商推出了雙DPTR的設計。

這樣的比較混亂,略微復雜,靠著專利過期成功商業化的單片機結構即將迎來它的末日。建議題主改學ARMv7/LC2K/MIPS/RISC-V/AVR這類簡潔而高效的架構

⑨ 單片機牛人請進!!8051 ,80C51 ,MCS-51這三者的區別是什麼

8051,80C51,MCS-51區別為:包含不同、存儲格式不同、組成不同。

一、包含不同

1、8051:8051屬於MCS-51系列單片機,由Intel公司開發,是8048的延伸。

2、80C51:80C51屬於MCS-51系列單片機,由Intel公司開發,是8051的延伸。

3、MCS-51:MCS-51是指由美國INTEL公司生產的一系列單片機的總稱,這一系列單片機包括8031,8051,80C51,8751,8032,8052,8752等。

二、存儲格式不同

1、8051:8051的存儲格式為4KB ROM、128BRAM。

2、80C51:80C51的存儲格式為4KB EEPROM、128BRAM。

3、MCS-51:MCS-51的存儲格式為把4kROM換為EEPROM就是51系列的結構,如去掉ROM/EEPROM部分即為31系列,如果將ROM置換為Flash存貯器或EEPROM,或再省去某些I/O,即可得到51系列的派生品種。

三、組成不同

1、8051:8051包括運算器和控制器兩部分。

2、80C51:80C51包括運算器、控制器、工作寄存器及特殊功能寄存器(SFR)。

3、MCS-51:MCS-51包括運算器、控制器、片內振盪器、特殊功能寄存器、定時器、計數器位處理器等。

⑩ 簡述8051單片機存儲器結構

8051單片機存儲器結構包含內部存儲器,外部擴展存儲器。
1、內部存儲器包括:
00H~1FH,工作寄存器區域
20H~2FH,位址寄存器區域
30H~7FH,用戶寄存器區域
80H~FFH,特殊功能寄存器區域
2、擴展存儲區包括
0000H~FFFFH的數據存儲器和程序存儲器,地址重疊。