




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,存儲器、堆棧、SFR,2,數(shù)據(jù)存儲器RAM(Random Access Memory) 程序存儲器ROM(Read Only Memory) 閃速存儲器Flash Memory EPROM(UV)Erazible Programmable ROM EEPROM/E2PROMElectrical Erasable Programmable ROM 靜態(tài)存儲器 SRAMStatic RAM (動態(tài)存儲器 DRAMDynamic RAM) 按字節(jié)尋址:每個字節(jié)(8個位)占一個地址 按位尋址:有的存儲器每一個位就有一個地址,單片機的存儲器幾個有關(guān)的概念:,8051的存儲器組織,8051存儲器可以分
2、成兩大類:, RAM,CPU在運行時能隨時進(jìn)行數(shù)據(jù)的寫入和讀出,但在關(guān)閉電源時,其所存儲的信息將丟失。它用來存放暫時性的輸入輸出數(shù)據(jù)、運算的中間結(jié)果或用作堆棧。, ROM是一種寫入信息后不易改寫的存儲器。斷電后,ROM中的信息保留不變。用來存放固定的程序或數(shù)據(jù),如系統(tǒng)監(jiān)控程序、常數(shù)表格等。,2.1.1普林斯頓結(jié)構(gòu),一般微機通常只有一個邏輯空間,可以隨意安排ROM或RAM。訪問存儲器時,同一地址對應(yīng)唯一的存儲單元,可以是ROM也可以是 RAM,并用同類訪問指令。這種結(jié)構(gòu)稱為普林斯頓結(jié)構(gòu)。,2.1.2 哈佛結(jié)構(gòu), 8051單片機與一般微機的存儲器配置方式很不相同。 51單片機的存儲器在物理結(jié)構(gòu)上分
3、為程序存儲空間和數(shù)據(jù)存儲空間,共有四個:片內(nèi)和片外程序存儲空間以及片內(nèi)和片外數(shù)據(jù)存儲空間,這種在物理結(jié)構(gòu)上把程序存儲器和數(shù)據(jù)存儲器分開的結(jié)構(gòu)形式稱為哈佛結(jié)構(gòu)。,7,89C51單片機存儲器配置,片內(nèi)RAM 128字節(jié)(00H7FH); 片內(nèi)RAM前32個單元是工作寄存器區(qū)(00H1FH) 片內(nèi)RAM有128個可按位尋址的位,占16個單元。 位地址編號為:00H7FH,分布在20H2FH單元 片內(nèi)21個特殊功能寄存器(SFR)中:地址號能被 8整除的 SFR中的各位也可按位尋址(P.33-34) 可尋址片外RAM 64K字節(jié) (0000HFFFFH) 可尋址片外ROM 64K字節(jié) (0000HFF
4、FFH) 片內(nèi) Flash ROM 4K字節(jié) (000HFFFH), 8051在邏輯上,即從用戶角度上8051有三個存儲空間: 片內(nèi)外統(tǒng)一編址的程序存儲器 片內(nèi)外不統(tǒng)一編址的數(shù)據(jù)存儲器 特殊功能寄存器(片內(nèi)),訪問這幾個不同的邏輯空間時,采用的指令: 片內(nèi)外程序存儲器空間-MOVC 片內(nèi)數(shù)據(jù)存儲器空間和SFR-MOV 片外數(shù)據(jù)存儲器地址空間-MOVX,52對應(yīng)的RAM有384Byte,其中多出的128Byte只能進(jìn)行間接尋址用 而C51是通過對自定義的數(shù)據(jù)類型來區(qū)分訪問的存儲空間的: 片內(nèi)外程序存儲器空間-code 片內(nèi)數(shù)據(jù)存儲器空間和SFR-data 片外數(shù)據(jù)存儲器地址空間-xdata 片內(nèi)
5、間接尋址區(qū)間-idata,10,存儲器配置(片內(nèi)RAM),片內(nèi)RAM 128字節(jié)(00H7FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),SFR分布在80H-FFH 其中92個位可位尋址,80H,FFH,所有的RAM區(qū)(包括位尋址區(qū)、工作寄存器區(qū))都可以用于存放數(shù)據(jù),故也稱為數(shù)據(jù)緩存寄存器,89C51 128字節(jié),11,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),片內(nèi)RAM前32個單元是工作寄存器區(qū) (00H1FH),存
6、儲器配置(片內(nèi)RAM),12,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),片內(nèi)RAM中有128個可按位尋址的位。 位地址:00H7FH 分布在:20H2FH單元,存儲器配置(片內(nèi)RAM),這些可位尋址的空間,可通過執(zhí)行指令直接對某一位進(jìn)行操作,如置1、清0或判1、判0等,可用作軟件標(biāo)志位或用于位(布爾)處理。這是一般微機所不具備的,這種位尋址能力是8051所獨有的。 20H2FH:既可以字節(jié)操作,又可以位操作,但是要用不同的指令來區(qū)分; mov 20h,a setb 00h setb 20.0,14,存儲器配
7、置(片內(nèi)RAM),89C51片內(nèi)RAM 128字節(jié)(00H7FH) 89C52片內(nèi)RAM 256字節(jié)(00H0FFH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),SFR分布在80H-FFH 其中92個位可位尋址,80H,FFH,89C51 128字節(jié),89C52 256字節(jié),只能直接尋址,只能寄存器間接尋址(P14),既可間接尋址,又可直接尋址,程序存儲器,外部 ROM,內(nèi)部 ROM (EA=1),外部 ROM (EA=0),0000H,0000H,0FFFH,0FFFH,1000H,FFFFH,在程序存儲
8、器中,有6個單元具有特殊功能,0003H:外部中斷0入口。 000BH:定時器0溢出中斷入口。 0013H:外部中斷1入口。 001BH:定時器1溢出中斷入口。 0023H:串行口中斷入口。 52還有002BH對應(yīng)T2中斷。 使用時,通常在這些入口地址處存放一條絕對跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排的中斷程序起始地址,或者從0000H起始地址跳轉(zhuǎn)到用戶設(shè)計的初始程序上。,0000H: 8051復(fù)位后,PC0000H,即程序從0000H 開始執(zhí)行指令。,org0000h jmpmain (跳過中斷入口地址區(qū)) org0100h main:movp1,#55h mov r0,#3fh Loop:djn
9、zr0,loop cpla movp1,a jmpmain end,18,可尋址片外RAM 64K字節(jié) (0000HFFFFH); 可尋址片外ROM 64K字節(jié) (0000HFFFFH); 片內(nèi) Flash ROM 4K字節(jié) (0000H FFFH);,FFFFH,0000H,可尋址片外RAM,64K字節(jié),FFFFH,0000H,可尋址片外ROM,64K字節(jié),FFFH,000H,可尋址片內(nèi) Flash ROM,4K 字節(jié),89C51,7FH,00H,片內(nèi) RAM,128字節(jié),FFH,80H,存儲器配置(片內(nèi)RAM),19,堆棧: 在片內(nèi)RAM中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據(jù),它
10、遵循先進(jìn)后出和后進(jìn)先出(LIFO/FILO)的原則,這個RAM區(qū)叫堆棧。,功用: 1)子程序調(diào)用和中斷服務(wù)時CPU自動將當(dāng)前PC 值壓棧保存,返回時自動將PC值彈棧。 2)保護現(xiàn)場/恢復(fù)現(xiàn)場 3)數(shù)據(jù)傳輸,20,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),SP棧頂,下一個進(jìn)棧的數(shù)據(jù)將存在此,數(shù)據(jù)進(jìn)棧,已經(jīng)進(jìn)棧的數(shù)據(jù)存放在此,初始 SP,復(fù)位后 SP=07H,數(shù)據(jù)進(jìn)棧時:首先SP+1指向08H單元,第一個放進(jìn)堆棧的數(shù)據(jù)將放進(jìn)08H單元,然后SP再自動增 1,仍指著棧頂,堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆
11、棧區(qū)可以安排在 RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。,21,從堆棧取出數(shù)據(jù)時:取出的數(shù)據(jù)是最近放進(jìn)去的一個數(shù)據(jù),也就是當(dāng)前棧頂?shù)臄?shù)據(jù)。然后SP再自動減1,仍指著棧頂,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),SP棧頂,當(dāng)前要出棧的數(shù)據(jù),數(shù)據(jù)出棧,SP-1指向下一個將要出棧的數(shù)據(jù),初始 SP,堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在 RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。,22
12、,從堆棧取出數(shù)據(jù)時:取出的數(shù)據(jù)是最近放進(jìn)去的一個數(shù)據(jù),也就是當(dāng)前棧頂?shù)臄?shù)據(jù)。然后SP再自動減1,仍指著棧頂,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),SP-1 指向新的棧頂,也就是下一個將要出棧的數(shù)據(jù),數(shù)據(jù)出棧,初始 SP,堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在 RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。,在實際應(yīng)用中,常需在RAM區(qū)設(shè)置堆棧。80C51的堆棧一般設(shè)在30H7FH的范圍內(nèi)。棧頂?shù)奈恢糜蒘P寄存器指示。復(fù)位時SP的初值為0
13、7H,在系統(tǒng)初始化時可以重新設(shè)置。,push a push b push PSW . pop a pop b pop PSW 這樣的指令順序?qū)Σ粚Γ?25,89C51特殊功能寄存器(SFR),特殊功能寄存器SFR(專用寄存器) 專用于控制、選擇、管理、存放單片機內(nèi)部各部分的工作方式、條件、狀態(tài)、結(jié)果的寄存器。,不同的SFR管理不同的硬件模塊,負(fù)責(zé)不同的功能各司其職 換言之:要讓單片機實現(xiàn)預(yù)定的功能,必須有相應(yīng)的硬件和軟件,而軟件中最重要的一項工作就是對SFR寫命令(要求)。,P0、P1、P2、P3: 四個并行輸入/輸出口的寄存器。它里面的內(nèi)容對應(yīng)著管腳的輸出。 SCON (Serial Con
14、trol Register) SBUF (Serial Date Buffer) PCON (Power Control Register),與端口相關(guān)的(7個),與定時/計數(shù)器相關(guān)的(6個),TMOD (Timer/Counter Mode Register) 定時器工作模式寄存器。 TCON (Timer/Counter Control Register) 定時器控制寄存器。 TH0、TL0 、TH1、TL1:分別是T0、T1的記數(shù)初值寄存器。,IP (Interrupt Priority Register) IE (Interrupt Enable Register),與中斷相關(guān)的(2個
15、),30,程序計數(shù)器PC(Program Counter) PC 不是一個特殊功能寄存器SFR,但其作 用又十分重要和特殊!,特點: 它是16位的按機器周期自動增1計數(shù)器,一切分支/跳轉(zhuǎn)/調(diào)用/中斷/復(fù)位 等操作的本質(zhì)就是:改變 PC 值,總指向下一條指令所在首地址(當(dāng)前PC值),特殊功能寄存器(PC),DPTR (Data Pointer)(分成DPH、DPL兩個): 數(shù)據(jù)指針可以用它來訪問外部數(shù)據(jù)存儲器中的任一單元,也可以作為通用寄存器來用,由我們自已決定如何使用。,數(shù)據(jù)指針寄存器DPTR 數(shù)據(jù)指針DPTR是一個 16 位的專用寄存器, 其高位字節(jié)寄存器用DPH表示,低位字節(jié)寄存器用DPL
16、表示。既可作為一個 16 位寄存器DPTR來處理, 也可作為兩個獨立的 8 位寄存器DPH和DPL來處理。 DPTR 主要用來存放 16 位地址, 當(dāng)對 64 KB外部數(shù)據(jù)存儲器空間尋址時, 作為間址寄存器用。在訪問程序存儲器時, 用作基址寄存器。 mov a,a+dptr,33,89C51有21個SFR(89C52有26個) P.3334 已知的P0、P1、P2、P3等四個8位I/O口分別由名為P0、P1、P2、P3四個SFR代表。,堆棧指針寄存器 SP(Stack Pointer): 總是指向棧頂,壓棧時先 (SP)+1 然后數(shù)據(jù)進(jìn)棧;彈棧時數(shù)據(jù)先出棧 然后(SP)-1。,累加器 ACC:
17、一個被眾多指令用得最頻繁的特殊功能寄存器(如:運算、數(shù)據(jù)傳輸)。,副累加器 B:一個經(jīng)常與 ACC 配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也經(jīng)常當(dāng)作普通寄存器使用。,特殊功能寄存器(P0P3,SP,A,B),34,程序狀態(tài)字寄存器 PSW:,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,CY(PSW.7)進(jìn)位/借位標(biāo)志位。若ACC在運算過程中發(fā)生了進(jìn)位或借位,則CY=1;否則=0。它也是布爾處理器的位累加器,可用于布爾操作。,AC(PSW.6)半進(jìn)位/借位標(biāo)志位。若ACC在運算過程中,D3位向D4位發(fā)生了進(jìn)位或借位,則CY=1,否則=0。機器在執(zhí)行“D
18、A A”指令時自動要判斷這一位,我們可以暫時不關(guān)心它。,F0 (PSW.5)可由用戶定義的標(biāo)志位。,PSW.6,PSW.5,特殊功能寄存器(PSW),35,程序狀態(tài)字寄存器 PSW:,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,PSW.6,PSW.5,特殊功能寄存器(PSW),例:78H+97H 0111 1000 +1001 0111 1 0000 1111,有進(jìn)位 CY=1,沒有半進(jìn)位AC=0,36,程序狀態(tài)字寄存器 PSW(續(xù)):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,RS1(PSW.4)、RS0(PSW.3)工作寄存器組選擇位。,R
19、S1,RS0 = 0 1 則選擇了工作寄存器組 1 區(qū)R0R7分別代表08H 0FH單元。,RS1,RS0 = 1 0 則選擇了工作寄存器組 2 區(qū) R0R7分別代表10H 17H單元。,RS1,RS0 = 1 1 則選擇了工作寄存器組 3 區(qū)R0R7分別代表18H 1FH單元。,PSW.4 PSW.3,RS1,RS0 = 0 0 則選擇了工作寄存器組 0 區(qū)R0R7分別代表08H 0FH單元。,37,片內(nèi)RAM前32個單元(00H1FH)是工作寄存器區(qū) (由PSW中的RS1,RS0決定),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū)
20、,位尋址區(qū),工作寄存器區(qū),R0,R2,R1,R3,R4,R5,R6,R7,07H,02H,01H,00H,06H,04H,05H,03H,08H,1FH,工作寄存器區(qū)3,工作寄存器區(qū)2,工作寄存器區(qū)1,工作寄存器區(qū)0,38,程序狀態(tài)字寄存器 PSW(續(xù)):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,OV (PSW.2)溢出標(biāo)志位。 OV=1時特指累加器在進(jìn)行帶符號數(shù)(-128+127)運算時出錯(超出范圍);OV=0時未出錯。,PSW.1 未定義。,P (PSW.0)奇偶標(biāo)志位。 P=1表示累加器中“1”的個數(shù)為奇數(shù) P=0表示累加器中“1”的個數(shù)為偶數(shù) CPU隨時監(jiān)視著ACC中的“1”的個數(shù),并反映在PSW中,PSW.2,PSW.1,例:某運算結(jié)果是78H(01111000),P=0。 它常用在校驗串行通信中的數(shù)據(jù)是否
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 隨機激勵下滾轉(zhuǎn)運動系統(tǒng)的動力學(xué)分析與控制研究
- 內(nèi)衣套裝企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 兒童安全藥瓶解決方案企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 辦公室用金屬家具企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 過渡金屬化合物基復(fù)合材料的界面調(diào)控及其電化學(xué)性能研究
- 不規(guī)則及形變地形下基于觸地感知的四足機器人運動控制研究
- 船東的合同范本
- 單間門面租房合同范本
- 電競醫(yī)療領(lǐng)域創(chuàng)新技術(shù)應(yīng)用分析
- 商鋪抽成合同范本
- 統(tǒng)編版高中政治必修3必背主觀題
- 供電所安全第一課培訓(xùn)
- 鄭州鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試參考試題庫(含答案)
- 岳陽職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試參考試題庫(含答案)
- 部編人教版六年級道德與法治下冊第7課《多元文化 多樣魅力》教學(xué)設(shè)計
- 新時代勞動教育教程(高職)大學(xué)生勞動教育全套教學(xué)課件
- 2023年開展的課外讀物負(fù)面清單管理的具體措施
- 《國防動員實施》課件
- 上高雙胞胎弘安畜牧有限公司田心鎮(zhèn)現(xiàn)代化18萬出欄育肥場建設(shè)項目環(huán)評報告
- 《米酒的釀造過程》課件
- 2024手機攝影課ppt課件完整版
評論
0/150
提交評論