存儲器和布爾處理器課件_第1頁
存儲器和布爾處理器課件_第2頁
存儲器和布爾處理器課件_第3頁
存儲器和布爾處理器課件_第4頁
存儲器和布爾處理器課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第3章MCS-51存儲器MCS-51存儲器程序存儲器尋址系統(tǒng)控制信號功能尋址系統(tǒng)功能數(shù)據(jù)存儲器控制信號ROM用來存放始終保留的固定程序和數(shù)據(jù)RAM用來存放程序運行時所需要的常數(shù)和變量第3章MCS-51存儲器MCS-51存儲器程序存儲器尋址系特殊功能寄存器

位尋址區(qū)00H1FH20H2FH30H7FH80HFFH部分可位尋址外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH1000HFFFFH外部RAM(包含I/O口地址)0000HFFFFH內(nèi)部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器空間程序存儲器空間工作寄存器區(qū)RAM區(qū)00H1FH20H2FH30H7FH80HFFH部分可位尋址3.1程序存儲器

●程序存儲器ROM包括片內(nèi)ROM和片外ROM兩個部分,片內(nèi)有4K字ROM,片外用16位地址,兩者統(tǒng)一編址●16位的程序計數(shù)器PC為程序存儲器地址指針,尋址空間為64KB,編址為:0000——FFFFH/EA接高電平時,單片機啟始從片內(nèi)程序存儲器取指令,當指令地址超過片內(nèi)程序存儲器空間后,自動地轉(zhuǎn)向片外程序存儲器取指令;/EA接低電平時,單片機直接從片外程序存儲器取指令。3.1程序存儲器圖2.5程序存儲器編址圖(a)51子系列;(b)52子系列圖2.5程序存儲器編址圖2.程序的6個特殊入口地址表3.1MCS-51單片機復位、中斷入口地址

操作 入口地址復位 0000H外部中斷0 0003H定時器/計數(shù)器0溢出 000BH外部中斷1 0013H定時器/計數(shù)器1溢出 001BH串行口中斷 002BH通常在這些入口地址處,存放一條絕對轉(zhuǎn)移指令,使程序轉(zhuǎn)移到用戶安排的中斷服務(wù)程序起始地址,或主程序起始地址。2.程序的6個特殊入口地址表3.1MCS-51單片機復位、3.2內(nèi)部數(shù)據(jù)存儲器

128個字節(jié),字節(jié)地址為00H~7FH3.2內(nèi)部數(shù)據(jù)存儲器1、工作寄存器區(qū)(通用寄存器)工作寄存器分成4組,每組都有8個寄存器,用R0~R7來表示。程序中每次只用1組,其它各組不工作。使用哪一組寄存器工作由程序狀態(tài)字PSW中的PSW.3(RS0)和PSW.4(RS1)兩位來選擇,其對應(yīng)關(guān)系如表2.4所示。

CPU既能以字節(jié)地址(00H~1FH)訪問它們,又能以寄存器符號(R0~R7)訪問。若程序中并不需要4組,那么其余的可用作一般的數(shù)據(jù)緩沖器。1、工作寄存器區(qū)(通用寄存器)PSW.4(RS1)PSW.3(RS0)當前使用的工作寄存器組R0~R7000組(00H~07H)011組(08H~0FH)102組(10H~17H)113組(18H~1FH)PSW.4(RS1)PSW.3(RS0)當前使用的工作0002、位尋址區(qū)

20H~2FH單元是位尋址區(qū)。這16個單元(共計16×8=128位)的每一位都賦予了一個位地址,位地址范圍為00H~7FH。通??梢园迅鞣N程序狀態(tài)標志、位控制變量存于位尋址區(qū)內(nèi)。

CPU既能以字節(jié)地址(20H~2FH)訪問它們的每一字節(jié),又能以位地址(00H~7FH)訪問它們的每一位。

CPU以字節(jié)地址訪問時,對某一個字節(jié)進行處理,使用字節(jié)指令。

CPU以位地址訪問時,對某一位進行處理,使用位操作指令。2、位尋址區(qū)片內(nèi)數(shù)據(jù)存儲器中的位地址圖3.5(128個位單元)片內(nèi)數(shù)據(jù)存儲器中的位地址圖3.5(128個位單元)3、數(shù)據(jù)緩沖區(qū)

30H~7FH是數(shù)據(jù)緩沖區(qū),也即用戶RAM區(qū),共80個單元。由于工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)統(tǒng)一編址,使用同樣的指令訪問,這三個區(qū)的單元既有自己獨特的功能,又可統(tǒng)一調(diào)度使用。因此,前兩個區(qū)未使用的單元也可作為用戶RAM單元使用,使容量較小的片內(nèi)RAM得以充分利用。

3、數(shù)據(jù)緩沖區(qū)

堆棧是一組編有地址碼的特殊的存儲單元。第一個進棧的數(shù)據(jù)所在的存儲單元稱為棧底,最后一個進棧的數(shù)據(jù)所在的存儲單元稱為棧頂,棧頂?shù)牡刂反a由棧指針SP指示。存儲單元的數(shù)目稱堆棧深度。堆棧單元中存放的信息稱為堆棧元素。

SP總是指向棧頂且裝有數(shù)據(jù)堆棧元素的壓入和彈出遵循“先進后出”的原則壓棧:先SP+1,后數(shù)據(jù)壓棧出棧:先彈出,后SP-1主機復位,SP=07H,壓入數(shù)據(jù)從08H單元為起始。一般設(shè)置SP=2FH4、堆棧和堆棧指針堆棧是一組編有地址碼的特殊的存儲單元。第一個進棧的數(shù)據(jù)第3章存儲器和布爾處理器課件3.3特殊功能寄存器(SFR)特殊功能寄存器(SFR,即SpecialFunctionRegisters),又稱為專用寄存器,專用于控制、管理片內(nèi)算術(shù)邏輯部件、并行I/O口、串行I/O口、定時器/計數(shù)器、中斷系統(tǒng)等功能模塊的工作。

18個專用寄存器,占用21個字節(jié),分散在80H——FFHCPU訪問它們既可以用字節(jié)地址,又可用寄存器符號

PC指針不包含在21個專用寄存器中,PC指針只有寄存器符號,沒有字節(jié)地址。其中有12個專用寄存器可以位尋址3.3特殊功能寄存器(SFR)特殊功能寄存器

位尋址區(qū)00H1FH20H2FH30H7FH80HFFH部分可位尋址內(nèi)部數(shù)據(jù)存儲器工作寄存器區(qū)RAM區(qū)00H1FH20H2FH30H7FH80HFFH部分可位尋址第3章存儲器和布爾處理器課件SFR中的位地址分布SFR中的位地址分布串行數(shù)據(jù)緩沖器SBUF:

由兩個獨立的寄存器組成:發(fā)送緩沖器,接收緩沖器存放準備發(fā)送或已經(jīng)接收到的數(shù)據(jù),一個字節(jié)地址,物理空間上是兩個獨立寄存器定時器/計數(shù)器:

兩個16位定時器/計數(shù)器(T1和T0)各由兩個獨立的8位寄存器組成:TH1、TL1、TH0、TL0

第3章存儲器和布爾處理器課件3.4外部數(shù)據(jù)存儲器可擴展64K字節(jié)(擴展外部RAM或擴展外部I/O)1、地址的重疊程序存儲器與外部數(shù)據(jù)存儲器64K字節(jié)地址重疊2、程序存儲器與數(shù)據(jù)存儲器在使用上是不同的,訪問片內(nèi)RAM用“MOV”指令,訪問片外RAM用“MOVX”指令。3、外部數(shù)據(jù)存儲區(qū)中,外部RAM與外部I/O端口統(tǒng)一編址所有外部擴展的I/O端口地址均占用外部RAM單元地址訪問外部擴展的I/O端口方式(指令)與訪問外部數(shù)據(jù)存儲器相同3.4外部數(shù)據(jù)存儲器

總結(jié):編址與訪問用于存放運算中間結(jié)果、數(shù)據(jù)暫存和緩沖、標志位等。片內(nèi)、外數(shù)據(jù)存儲器是兩個獨立的地址空間,應(yīng)分別單獨編址。片內(nèi)256字節(jié)RAM,片外擴充到64K字節(jié)RAM。訪問片內(nèi)RAM用“MOV”指令,訪問片外RAM用“MOVX”指令。片內(nèi)數(shù)據(jù)存儲器除128字節(jié)RAM塊外,還有特殊功能寄存器(SFR)21個CPU專用寄存器分散在80H——FFH中??偨Y(jié):編址與訪問3.5外部存儲器工作過程

外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH1000HFFFFH外部RAM(包含I/O口地址)FFFFH外部數(shù)據(jù)存儲器空間程序存儲器空間0000H3.5外部存儲器工作過程內(nèi)部外部0000H0000H0FF1、以P2口作為高8位地址線。2、以P0口作為低8位地址/8位數(shù)據(jù)復用線。3、控制信號線。 *使用ALE信號作為低8位地址鎖存控制信號。 *以/EA信號作為內(nèi)、外程序存儲器的選擇控制信號。*以/PSEN信號作為擴展程序存儲器的讀選通信號。*由/RD和/WR信號作為擴展數(shù)據(jù)存儲器和擴展I/O口的讀選通、寫選通信號。MCS-51有4個并行I/O口,共32條口線,但由于系統(tǒng)擴展需要,作為I/O口使用的,就剩下P1口和P3口的部分口線。1、以P2口作為高8位地址線。3.6MCS-51的尋址方式

尋址方式就是在指令中指明操作數(shù)所在地址的方式共7種尋址方式一、寄存器尋址方式操作數(shù)在寄存器中

MOVA,Rn;(Rn)→A,n=0~7

(表示把寄存器Rn的內(nèi)容傳送給累加器A)尋址范圍:(1)4組通用工作寄存器共32個工作寄存器。(2)部分特殊功能寄存器,例如A、B以及數(shù)據(jù)指針寄存器

DPTR等。3.6MCS-51的尋址方式二、直接尋址方式

操作數(shù)直接以單元地址的形式給出:

MOVA,40H

(表示把內(nèi)部RAM40H中的內(nèi)容傳送給累加器A)

尋址范圍:

(1)內(nèi)部RAM的128個單元

(2)特殊功能寄存器。除了以單元地址的形式外,還可用寄存器符號的形式給出。例如:MOVA,80H與

MOVA,P0

是等價的。二、直接尋址方式三、寄存器間接尋址方式

寄存器中存放的是操作數(shù)的地址,寄存器前加“@”

MOVA,@Ri

;i=0或1

(如果Ri中的內(nèi)容為40H,把內(nèi)部RAM40H單元內(nèi)容送A)

尋址范圍:(1)訪問內(nèi)部RAM和特殊功能寄存器區(qū),其通用形式為@Ri

(只能用R0或R1作為間址寄存器)(2)對外部內(nèi)部RAM的64K字節(jié)的間接尋址例如:MOVXA,@DPTR

(訪問外部RAM的256個字節(jié)范圍時,也可以用R0或R1

作為間址寄存器)

三、寄存器間接尋址方式第3章存儲器和布爾處理器課件四、立即尋址方式

操作數(shù)在指令中直接給出,操作數(shù)前面加“#”MOVA,#40H

五、基址寄存器加變址寄存器間址尋址方式

以DPTR或PC作基址寄存器,以累加器A作為變址寄存器。

MOVCA,@A+DPTR

如果A中原有內(nèi)容為05H,DPTR內(nèi)容為0400H,該指令執(zhí)行的結(jié)果是把程序存儲器0405H單元中的內(nèi)容傳送給A

說明:(1)專門針對程序存儲器的尋址方式,尋址范圍達64KB

(2)本尋址方式的指令只有3條:

MOVCA,@A+DPTR MOVCA,@A+PC JMP@A+DPTR

四、立即尋址方式第3章存儲器和布爾處理器課件六、相對尋址方式

在相對尋址的轉(zhuǎn)移指令中,給出了地址偏移量,以“rel”表示;把PC的當前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址

目的地址=轉(zhuǎn)移指令所在的地址+該轉(zhuǎn)移指令的字節(jié)+rel

偏移量“rel”是一帶符號的8位二進制數(shù)補碼范圍是:–128~+127

向地址增加方向最大可轉(zhuǎn)移(127+該轉(zhuǎn)移指令字節(jié))個單元地址向地址減少方向最大可轉(zhuǎn)移(128-該轉(zhuǎn)移指令字節(jié))個單元地址六、相對尋址方式01000000011101011000H1001H1002H1077H+1PCALURel=75HPC=1002H1077H程序存儲器例:C=1,PC=1000H,REL=75H,執(zhí)行指令JCREL0100000001110101+1PCALURel=75H七、位尋址方式

MCS-51有位處理功能,可以對數(shù)據(jù)的位進行操作。

MOVC,40H

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論