




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)用標(biāo)準(zhǔn)單片機(jī)程序程序存儲(chǔ)空間(ROM )和數(shù)據(jù)存儲(chǔ)空間(RAM)詳解問(wèn)題:STC89C52RC單片機(jī):8K字節(jié)程序存儲(chǔ)空間,512字節(jié)數(shù)據(jù)存儲(chǔ)空間,內(nèi)帶2K字節(jié)EEPROM存儲(chǔ)空間它們分別存的是什么?8K的程序存儲(chǔ)空間是存儲(chǔ)代碼,也就是你寫的程序生成的HEX文件的,相當(dāng)于電腦系統(tǒng)的C盤。512字節(jié)相當(dāng)于內(nèi)存,存儲(chǔ)空間存儲(chǔ)變量,像u8 x,y,z,u32 a之類的臨時(shí)變量掉電后數(shù)據(jù)丟失。2K eeprom 相當(dāng)于電腦系統(tǒng)的硬盤,數(shù)據(jù)寫入后掉電不丟失。主要是單片機(jī)在運(yùn)行的過(guò)程中寫入數(shù)據(jù)或者讀取數(shù)據(jù)。 像設(shè)置的鬧鈴值,設(shè)置好了就不用每次都去設(shè)置了,保存在單片機(jī)里面,即使掉電了,設(shè)置的數(shù)據(jù)也不會(huì)丟失
2、,只需單片機(jī)上電再讀取就好了。單片機(jī)原理及系統(tǒng)結(jié)構(gòu)在此先詳細(xì)分析51單片的存儲(chǔ)器結(jié)構(gòu)和尋址方法,再分析片外存儲(chǔ)器的擴(kuò)展,最后給出設(shè)計(jì)原理并分析系統(tǒng)結(jié)構(gòu)。文檔圖一:存儲(chǔ)空間分布51單片機(jī)存儲(chǔ)器結(jié)構(gòu)分析8051單片機(jī)的存儲(chǔ)器在物理結(jié)構(gòu)上分為程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間,共有4個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器空間。這種程序存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開(kāi)的結(jié)構(gòu)形式被稱為哈佛結(jié)構(gòu)。MCS-51使用哈弗結(jié)構(gòu),它的程序空間和數(shù)據(jù)空間是分開(kāi)編址的,即各自有各自的地址空間,互不重疊。所以即使地址一樣,但因?yàn)榉珠_(kāi)編址,所以依然要說(shuō)哪一個(gè)空間內(nèi)的某地址。而ARM (甚至是x86 )
3、這種馮諾依曼結(jié)構(gòu)的 MCU/CPU,它的地址空間是統(tǒng)一并且連續(xù)的,代碼存儲(chǔ)器/RAM/CPU寄存器,甚至PC機(jī)的顯存,都是統(tǒng)一編址的,只是不同功能的存儲(chǔ)器占據(jù)不同的地址塊, 各自為政。MCS-51單片機(jī)存儲(chǔ)器的配置特點(diǎn) 內(nèi)部集成了 4K的程序存儲(chǔ)器ROM ; 內(nèi)部具有256B的數(shù)據(jù)存儲(chǔ)器RAM (用戶空間+SFR空間);可以外接64K的程序存儲(chǔ)器ROM和數(shù)據(jù)存儲(chǔ)器RAM。從物理結(jié)構(gòu)的角度講,51單片機(jī)的存儲(chǔ)系統(tǒng)可以分為四個(gè)存儲(chǔ)空間:既片內(nèi) ROM , RAM和片外 ROM、RAM。從邏輯結(jié)構(gòu)上看(既編程的角度),可以分為三個(gè)不同的空間:(1)片內(nèi)、片外統(tǒng)一編址的 64KB的程序存儲(chǔ)器地址空間:
4、 0000HFFFFH(用16 位地址);,其中0000H0FFFH 為片內(nèi)4KB的ROM 地址空間,1000HFFFFH 為外部 ROM 地址空間;(2)256B的內(nèi)部數(shù)據(jù)存儲(chǔ)器地址空間( 用8位地址),00HFFH,分為兩大部分,其中00H7FH (共128B單元)為內(nèi)部靜態(tài) RAM的地址空間,80HFFH 為特殊功能寄存 器的地址空間,21個(gè)特殊功能寄存器離散地分布在這個(gè)區(qū)域;(3)64KB的外部數(shù)據(jù)存儲(chǔ)器地址空間 (用16位地址):0000HFFFFH ,包括擴(kuò)展 I/O地址空間。上述4個(gè)存儲(chǔ)空間地址是重疊的,如圖1所示。8051的指令系統(tǒng)設(shè)計(jì)了不同的數(shù)據(jù)傳送指令以區(qū)別這 4個(gè)不同的邏
5、輯空間:CPU訪問(wèn)片內(nèi)、片外 ROM指令用MOVC,訪問(wèn)片 外RAM 指令用 MOVX,訪問(wèn)片內(nèi) RAM 指令用 MOV。程序存儲(chǔ)器用于存放編好的程序和表格常數(shù)。程序通過(guò)16位程序計(jì)數(shù)器尋址,尋址能力為64KB。這使得指令能在64KB的地址空間內(nèi)任意跳轉(zhuǎn),但不能使程序從程序存儲(chǔ)器空 間轉(zhuǎn)移到數(shù)據(jù)存儲(chǔ)器空間。程序存儲(chǔ)器ROM的片內(nèi)和片外尋址1. 程序存儲(chǔ)器ROM用于存放程序、常數(shù)或表格。2. 在51單片機(jī)中,由引腳 /EA 上的電平選擇內(nèi)、外 ROM : EA=1時(shí),CPU執(zhí)行片內(nèi)的4KROM中的 程序;EA=0時(shí),CPU選擇片外ROM中的程序。3. 無(wú)論是使用片內(nèi)還是使用片外 ROM,程序的起
6、始地址都是從 ROM的0000H單元開(kāi)始。4. 盡管系統(tǒng)可以同時(shí)具備片內(nèi) ROM和外部ROM,但是在一般正常使用情況下,通過(guò) /EA的設(shè)定來(lái) 選擇其一(或者使用內(nèi)部 ROM,或者使用外部ROM )。5. 如果EA=1 (執(zhí)行片內(nèi)程序存儲(chǔ)器中程序時(shí)):如果程序計(jì)數(shù)器的指針 PC值超過(guò)0FFFH( 4K)時(shí),單 片機(jī)就要自動(dòng)的轉(zhuǎn)向片外的 ROM存儲(chǔ)器且從1000H單元開(kāi)始執(zhí)行程序(無(wú)法使用片外 ROM的低 4K空間)。6. 當(dāng)程序超過(guò)4K時(shí),有兩種使用程序存儲(chǔ)器 ROM的方法: 設(shè)置EA=0,使用外部ROM。從地址=0000H 開(kāi)始; 設(shè)置EA=1,使用內(nèi)部的4KROM和外部ROM (地址從100
7、0H開(kāi)始的單元)。FFFFH片外程序存儲(chǔ)器(最大64K)EA=0時(shí)ROM的便用:EAR時(shí)ROM的使用 i1000HOFFFH: OFFFH【單片機(jī)內(nèi)部: 程序存儲(chǔ)器:(4Kooooh | I | : coooh8051從片內(nèi)程序存儲(chǔ)器和片外程序存儲(chǔ)器取指時(shí)的執(zhí)行速度相同。程序存儲(chǔ)器六個(gè)特殊的單元:在ROM中有六個(gè)單元具有特定功能。0000H單元:復(fù)位時(shí)程序計(jì)數(shù)器 PC所指向的單元,因此用來(lái)存放程序中的第一條指令;0003H單元:外部中斷/INT0的矢量入口地址;000BH單元:定時(shí)器T0溢岀中斷的矢量入口地址;0013H單元:外部中斷/INT1的矢量入口地址;001BH單元:定時(shí)器T1的溢岀中
8、斷矢量入口地址;0023H單元:串行口接收、傳送的中斷矢量入口地址。矢量入口單元:在編寫中斷程序時(shí),寫入對(duì)應(yīng)的“跳板指令”0000H0003H000 BH0Q13H001BH0023H0100HLJMPLJMP主程序01 OOH單片機(jī)第一條指令的兩個(gè)特征: 存放在 ROM的0000H單元; 必須是“跳轉(zhuǎn)指令以跳過(guò)下面的 5個(gè)中斷矢量,轉(zhuǎn)到后面的真正的主程序入口0100H單元。ORG 0000H LJMP 0100HORG 0100HSTART: MOV A,#00HEND外部程序存儲(chǔ)器:當(dāng)單片機(jī)使用外ROM存儲(chǔ)器時(shí)(擴(kuò)展系統(tǒng)),必須設(shè)定/EA=0,此時(shí)單片機(jī)的端口功能就要發(fā)生相應(yīng)的改變:P0、
9、P2作為外部ROM的地址和數(shù)據(jù)總線;使用引腳/psen信號(hào)來(lái)選通外部ROM的數(shù)據(jù)三態(tài)輸岀外接程癢存儲(chǔ)器的總線結(jié)構(gòu)圖程序存儲(chǔ)器RAM的片內(nèi)和片外尋址無(wú)論在物理上還是邏輯上, 系統(tǒng)中RAM都可分為兩個(gè)獨(dú)立空間: 內(nèi)部和外部RAM。由不同的指令 來(lái)訪問(wèn)。1. 訪問(wèn)內(nèi)部數(shù)據(jù)存儲(chǔ)單元時(shí),使用MOV指令;2. 訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),使用 MOVX 指令。內(nèi)部RAM從功能上將256B空間分為二個(gè)不同的塊:1. 低 128B 的 RAM 塊;2. 高 128B 的 SFR( Special Function Register)塊。在低128B的RAM存儲(chǔ)單元中又可劃分為:1. 工作寄存器區(qū);2. 位尋址區(qū);3
10、. 通用存儲(chǔ)數(shù)據(jù)的“便簽區(qū)”。高128B的專用寄存器區(qū)SFR中僅僅使用了 21寄存器(51系列),其它107個(gè)單元不能使用一般的教科書里RAM大小是指默認(rèn)用戶RAM,但是很少有特別說(shuō)明的C51 :片內(nèi)用戶RAM有128字節(jié)(位于片內(nèi)所有RAM的低128B,高128B是SFR)訪問(wèn)RAM可以使用直接或者間接尋址方式,地址為00H-7FH,在80H-FFH的空間分配給 了 SFR,只能使用直接尋址方式。C52 :片內(nèi)用戶RAM為256字節(jié)(位于片內(nèi)所有RAM的低128B,高128B是SFR和用戶 RAM)低128字節(jié)(00H-7FH )的訪問(wèn)方式為直接和間接尋址方式;高128字節(jié)(地址80H-FF
11、H )只能使用間接尋址方式。SFR的地址也為80H-FFH,但只能使用直接尋址方式。也就是說(shuō),C52的高128B是用戶RAM和SFR統(tǒng)一編制,共享地址,通過(guò)指令的尋址方式 不同來(lái)進(jìn)行區(qū)分。MCS-51片內(nèi)!片外數(shù)據(jù)存儲(chǔ)器示倉(cāng)圖r-IIIFFFFH江.氐h1 i億訪問(wèn)舛丙RAM2QH單元:FFH111MOV A 20Hh|i1112.坊何片外RAMZOH元;|i b p5価111MOV RO , #20hli t bSFR1iiI斗MCVX A rR0&0Hi存般$展菅片內(nèi)* +FRAM單元鬧7FHfI1iQ- 1 HilfG4KBOOH-FFHJ址相史金;T斗b|i hm擔(dān)1ii1I ii*l
12、 l混亂.所以無(wú)論從藏耀或邏輯b l |ii1上,內(nèi).HRAM是兩亍獨(dú)空的OOH1i l1存篠空間,bOOCKH片內(nèi)數(shù)據(jù)存儲(chǔ)嗥曲片外數(shù)攜存儲(chǔ)半RAV2t6B個(gè)宇節(jié)64KBC宇節(jié)片內(nèi)RAM低128B字節(jié)功能分配圖7FH鄴篙常黑黑OCH廠 Iv RAM的低二冊(cè)?3區(qū)2S謳口區(qū)SttRAWlZ地址:3OH-7FH孟訂址Hl6t7t20H-2FH.Jtni28可尋址總牛位* 泣址址=OOH-7FH 注扎f立地炒勺字節(jié)地址的區(qū)剔四*工岸寄存髀區(qū) 耳牛區(qū)中胃八個(gè)工作寄存狂()工作寄存帝區(qū)結(jié)構(gòu)圖(0區(qū))RAKItib【注壹】:工作寄存器Rn實(shí)際上就是RAIJ單元的一記分片內(nèi)RAIVI中具有雙重功能的存儲(chǔ)結(jié)構(gòu)
13、圖2FH7F7E7D7C7B7A7S7ft/7$7574737271706F6E6D6C6B6A6S63/字節(jié)地址1C7666564即62616D6F6E506C6A開(kāi)CB7酣6554&35251GO4F404C4B4A4Q43474644434241401 3F3E3D3C3B3A3337鷗2524232221時(shí)4二2F2&2D2C2B2A281127262524232221201111F1F1D1C1B1A1fl13117151413121110*OF0E0D0C0BCA09OS20H070504030201OD對(duì)于數(shù)據(jù)存儲(chǔ)器,分為內(nèi)部數(shù)據(jù)存儲(chǔ)器(IDATA/RAM )和外部數(shù)據(jù)存儲(chǔ)器(X
14、DATA )兩個(gè)部分,但這兩個(gè)存儲(chǔ)器就不像 code存儲(chǔ)器那樣共享地址空間的了。一般的8051芯片,內(nèi)部 RAM 只有128B,從0x00-0x7F,而從0x80-0xFF 則是SFR( CPU工作寄存器和各 種外設(shè)寄存器都在此)的區(qū)域。對(duì)于8052來(lái)說(shuō),內(nèi)部 RAM有256B,所以0x80-0xFF是高128B的RAM在使用??蛇@部分不是 SFR專用的嗎?是 SFR專用,但注意,SFR的訪 問(wèn)只能使用“直接尋址方式”(使用特定的匯編指令來(lái)實(shí)現(xiàn)),區(qū)別就在這里。只有通過(guò)直接 尋址訪問(wèn)的地址才是 SFR,否則就是普通的 RAM。至于外擴(kuò)的RAM (XDATA ),地址也是從OxOOOO-OxFF
15、FF 的,而且這里的 0x0000和內(nèi)部RAM的0x00是不同的,是完全獨(dú)立的兩個(gè)空間。他們的訪問(wèn)方法也是不同的。 MCS-51使用MOVX 指令,來(lái)讀寫 XDATA區(qū)。而且,訪問(wèn) XDATA區(qū),是需要 DPTR寄存器來(lái)輔 助的。因?yàn)橹挥?DPTR才能裝得下十六位的 XDATA地址。所以說(shuō),MCS-51 讀寫IDATA區(qū)的速度是最快的,而且訪問(wèn)方法也是最多的。訪問(wèn)XDATA區(qū)的速度相對(duì)就要慢很多。用P0 口作地址/數(shù)據(jù)復(fù)用總線,用P2 口的口線作高位地址線,最多可以擴(kuò)展開(kāi)關(guān)電源模塊64KB的存儲(chǔ)器??刂菩盘?hào)線包括:使用ALE作為地址鎖存的選通信號(hào),以實(shí)現(xiàn)低8位地址的鎖存;以PSEN信號(hào)作為擴(kuò)展
16、程序存儲(chǔ)器的讀選通信號(hào);以EA信號(hào)作為內(nèi)、外程序存儲(chǔ)器的選擇信號(hào);以EA和作為擴(kuò)展數(shù)據(jù)存儲(chǔ)器和I/O端口的讀、寫選通信號(hào)。執(zhí)行MOVX指令時(shí),RD和WR信號(hào)分別自動(dòng)有效。片外數(shù)據(jù)存儲(chǔ)器 RAM的讀和寫由8051的RD(P3.7) 和WR(P3.6)信號(hào)控制,而片外程序存儲(chǔ)器的輸出允許(OE)由讀選通PSEN信號(hào)控制。但由于控制信號(hào)及使用的數(shù)盡管片外數(shù)據(jù)存儲(chǔ)器和片外程序存儲(chǔ)器共處同一地址空間,據(jù)傳送指令不同,故不會(huì)發(fā)生總線沖突。ALEAT39551-PEEN 亙YVE-Jfillf、師.kg 卅 622S6EM)圖2數(shù)據(jù)擴(kuò)展圖由于現(xiàn)在以8051為內(nèi)核的單片機(jī)幾乎都帶有內(nèi)部的FLASH程序存儲(chǔ)器。如本設(shè)計(jì)功能2r :內(nèi)阿軸中要用到的開(kāi)關(guān)電源模塊 AT89C51或AT89S51均自帶4KB的FLASH程序存儲(chǔ)器,有的 單片機(jī)帶有20KB甚至更大容量的程序存儲(chǔ)器。因此在單片機(jī)開(kāi)發(fā)中,很少用專門的程序存 儲(chǔ)器芯片來(lái)擴(kuò)展外部程序存儲(chǔ)器,通常也沒(méi)有必要。SfiCPU 4kb/tesi器(ROM)憶2為BK)存號(hào)器廠小陽(yáng))行2有芳牡丫血即弘口壬條LO口線1茶指僉,大韶分為單寧節(jié)淆令囚隆用寄仃希衛(wèi)個(gè)可蕭程目孫十?dāng)?shù)誕&卜卬斷況2個(gè)優(yōu)左 (5靖環(huán))個(gè)全艱工串行適
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 材料加工工藝優(yōu)化經(jīng)濟(jì)開(kāi)發(fā)合同
- 老妖精造價(jià)工程師課件
- 大學(xué)近代史考試試題及答案
- 美術(shù)說(shuō)課課件風(fēng)箏
- 2025年企業(yè)安全事故案例分析
- 美術(shù)兒童教學(xué)課件模板
- 安全評(píng)價(jià)相關(guān)法規(guī)
- 機(jī)械工程師資格認(rèn)證考試
- 物流公司司機(jī)培訓(xùn)課件
- 安全檢查活動(dòng)總結(jié)
- 普通高中物理課程標(biāo)準(zhǔn)
- 國(guó)家開(kāi)放大學(xué)《監(jiān)督學(xué)》形考任務(wù)( 1-4)試題和答案解析
- 婚前協(xié)議書(完整版)-婚前協(xié)議書模板
- 完工付款最終付款申請(qǐng)表
- 人工動(dòng)靜脈內(nèi)瘺
- 新版(七步法案例)PFMEA
- 2022年重慶優(yōu)秀中考作文經(jīng)典范例合集-2022中考作文
- 慢阻肺隨訪記錄表正式版
- 廣西大學(xué)數(shù)學(xué)建模競(jìng)賽選拔賽題目
- 受戒申請(qǐng)表(共3頁(yè))
- 低鈉血癥的護(hù)理
評(píng)論
0/150
提交評(píng)論