欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11209|回復(fù): 2
收起左側(cè)

C51單片機(jī)是怎么存儲程序和數(shù)據(jù)的

[復(fù)制鏈接]
ID:342442 發(fā)表于 2018-10-13 08:24 | 顯示全部樓層 |閱讀模式
初學(xué)51單片機(jī)總是會有這樣的疑問,從電腦下載程序到開發(fā)板后,程序去哪了? C51中,用戶或應(yīng)用程序,系統(tǒng)程序和數(shù)據(jù)都是存放在哪的?

51 單片機(jī)從物理結(jié)構(gòu)上,可分為片內(nèi),片外程序存儲器,片內(nèi)片外數(shù)據(jù)存儲器。

51 單片機(jī)從功能上,有程序存儲器,片內(nèi)數(shù)據(jù)存儲器,特殊功能寄存器,位地 址空間,片外數(shù)據(jù)存儲器。



51單片機(jī)的程序存儲器用于存儲代碼和一些固定表格常數(shù)。 可尋址的程序存儲器空間為 64KB

51單片機(jī)的從物理角度上可分為:片內(nèi),片外程序存儲器,作為編址空間,編 址規(guī)律是:先片內(nèi),后片外,片內(nèi)片外連續(xù),不重疊。
如圖:為 51 單片機(jī)程序存儲器編址圖。




單片機(jī)如何執(zhí)行指令?
如圖:




無論片內(nèi)程序存儲器,還是片外程序存儲器,他們的地址是共享的。如果片內(nèi)
4K ROM 的話,地址就是 0x0000-0x0FFF,從 0x1000-0xFFFF 就是外部 ROM 的地址 空間。可外部 ROM 的 0x0000-0x0FFF 的這一部分是否使用呢,這取決于單片機(jī) EA 引腳的電平值。EA=1 時(shí)就是使用內(nèi)部 ROM 的這一部分,外部 ROM 的這一部 分浪費(fèi)不用;EA=0 時(shí)就是使用外部ROM 的這一部分,內(nèi)部 ROM 浪費(fèi)不用。從
CODE 段讀取數(shù)據(jù)要使用匯編的 MOVC 指令,單片機(jī)會根據(jù) MOVC 指令、EA 狀態(tài)、 要讀取的地址值,來自動地判斷從什么存儲器里取數(shù)據(jù)。

程序地址空間一般可以根據(jù)用戶需要任意安排使用,但是 cpu 執(zhí)行特殊程序的入 口地址,用戶必須按照規(guī)定存放相應(yīng)的程序。
特殊程序入口地址如圖:






數(shù)據(jù)


51 單片機(jī)內(nèi)外數(shù)據(jù)存儲器是兩個(gè)獨(dú)立的地址空間,應(yīng)單獨(dú)編址。 片內(nèi)數(shù)據(jù)存儲器地址空間"00H-FFH",RAM 地址空間“00H-7FH” 特殊功能寄存器 SFR 地址空間“80H-FFH”
片外數(shù)據(jù)存儲器地址空間“0000H-FFFFH”
如圖:





為了使片內(nèi)數(shù)據(jù)存儲器的存儲空間合理運(yùn)用,對低 128 字節(jié)的 RAM 劃分了不同 的功能區(qū)。
如圖:










位尋址區(qū),地址空間 20H-2FH,16 個(gè)單元,共 128 位。
數(shù)據(jù)緩沖區(qū),地址空間 30H-7FH,共 80 個(gè)單元。 特殊功能寄存器
特殊功能寄存器(SFR,Special Function Registers)別稱專用寄存器,主要用于管 理,控制,片內(nèi)邏輯部件,并行 i/o 口,串行 i/O 口,定時(shí)器/計(jì)數(shù)器,中斷系統(tǒng) 等功能模塊的工作。

總結(jié):對于數(shù)據(jù)存儲器,則分為內(nèi)部數(shù)據(jù)存儲器(IDATA/RAM)和外部數(shù)據(jù)存儲 器(XDATA)兩個(gè)部分,但這兩個(gè)存儲器就不像 code 存儲器那樣共享地址空間 的了。一般 的 8051 芯片,內(nèi)部 RAM 只有 128B,從 0x00-0x7F,而從 0x80-0xFF 則是 SFR(CPU 工作寄存器和各種外設(shè)寄存器都在此)的區(qū)域。對于 8052 來說, 內(nèi)部 RAM 有 256B,所 以 0x80-0xFF 是高 128B 的 RAM 在使用。可這部分不是 SFR 專用的嗎?是SFR 專用,但注意,SFR 的訪問只能使用“直接尋址方式”(使 用特定的匯編指令來實(shí)現(xiàn)),區(qū)別就 在這里。只有通過直接尋址訪問的地址才是 SFR,否則就是普通的 RAM。至于外擴(kuò)的 RAM(XDATA),地址也是從
0x0000-0xFFFF 的,而且這里的 0x0000 和內(nèi)部 RAM 的 0x00 是不同的,是完全獨(dú) 立的兩個(gè)空間。他們的訪問方法也是不同的。MCS-51 使用MOVX 指令,來讀寫 XDATA 區(qū)。而且,訪問 XDATA 區(qū),是需要 DPTR 寄存器來輔助 的。因?yàn)橹挥?DPTR 才能裝得下十六位的 XDATA 地址。參考:
http://blog.csdn.net/shanzhizi/article/details/8997881



特殊功能寄存器(SFR,Special Function Registers)別稱專用寄存器,主要用于管 理,控制,片內(nèi)邏輯部件,并行 i/o 口,串行 i/O 口,定時(shí)器/計(jì)數(shù)器,中斷系統(tǒng) 等功能模塊的工作。

51 單片機(jī)中,專用寄存器與片內(nèi) RAM 統(tǒng)一編址,且作為直接尋址使用。


51 單片機(jī)有 18 個(gè)專用寄存器,其中 3 個(gè)是雙字節(jié)寄存器,占用 21 個(gè)字節(jié)。


在 SFR 塊的地址空間 80H-FFH 中,僅僅只有 21 個(gè)字節(jié)作為特殊功能寄存器離散 分布在這 128 個(gè)字節(jié)范圍中,其余字節(jié)無定義,但是用戶不能對這些字節(jié)進(jìn)行“讀 寫操作”

下圖為特殊功能寄存器的名稱,表示符,地址一覽表。



完整的pdf格式文檔51黑下載地址:
C51單片機(jī)是怎么存儲程序和數(shù)據(jù)的.pdf (315.08 KB, 下載次數(shù): 23)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:492922 發(fā)表于 2019-4-17 17:25 | 顯示全部樓層
看看,看看,謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:20672 發(fā)表于 2019-11-23 16:38 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表