2022年單片微機原理及應用課件-MCS單片機指令系統(tǒng)_第1頁
2022年單片微機原理及應用課件-MCS單片機指令系統(tǒng)_第2頁
2022年單片微機原理及應用課件-MCS單片機指令系統(tǒng)_第3頁
2022年單片微機原理及應用課件-MCS單片機指令系統(tǒng)_第4頁
2022年單片微機原理及應用課件-MCS單片機指令系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第三章MCS-51單片機指令系統(tǒng)§3-1

指令及其表示方法§3-2尋址方式§3-3指令系統(tǒng)指令

=

操作碼

+

操作數(shù)操作碼——表示了該指令所能執(zhí)行的操作功能。操作數(shù)——表示參加操作的數(shù)的本身或操作數(shù)所在的地址。指令功能:1、操作碼指明執(zhí)行什么性質和類型的操作。例如,加、減等2、操作數(shù)指定參加操作的數(shù)本身或操作數(shù)地址。3、指定操作結果存放的地址。4、指定下一條指令存放的地址。§3-1指令及其表示方法指令表示方法:指令有兩種表示方法:1、機器碼表示法例如,一條表示A=A+07的指令用機器碼表示:

1100011000000111(二進制代碼)或C607

(十六進制代碼)2、助記符表示法指令用助記符表示為:ADDA,#07

計算機需要經(jīng)過匯編程序翻譯成機器碼后才能執(zhí)行。rel——8位帶符號的偏移字節(jié),簡稱偏移量。-126~129

用于相對轉移指令。DPTR——數(shù)據(jù)指針,可用作16位地址寄存器。bit——內部RAM或專用寄存器中的直接尋址位地址。A——累加器。B——專用寄存器,用于乘法和除法指令中。C——進位標志或進位位,或布爾處理機中的累加器。@——寄存器間接尋址符號、前綴?!纭斍爸噶畲娣诺牡刂?/p>

/——位操作數(shù)的前綴,表示對該位操作數(shù)取反,如/bit?!痢瑑萊AM的直接地址或寄存器。(×)——由×尋址的單元中的內容。

——箭頭左邊的內容被箭頭右邊的內容所代替。rrr——指令編碼中rrr的值由當前工作寄存器Rn決定。R0~R7對應的rrr為000~111。返回本節(jié)3.2尋址方式

3.2.1立即尋址 3.2.2直接尋址3.2.3寄存器尋址3.2.4寄存器間接尋址3.2.5變址尋址 3.2.6相對尋址 3.2.7位尋址返回本章首頁3.2.1立即數(shù)尋址

指令中直接給出操作數(shù)的尋址方式。立即尋址方式是操作數(shù)包括在指令字節(jié)中,指令操作碼后面字節(jié)的內容就是操作數(shù)本身。立即操作數(shù)用前面加有#號的8位或16位數(shù)來表示。立即數(shù)只能作為源操作數(shù),不能當作目的操作數(shù)。

例如:

MOVA,#52H;A

52H MOVDPTR,#5678H;DPTR

5678H

圖為立即尋址示意圖

3.2.2直接尋址

在指令中含有操作數(shù)的直接地址,該地址指出了參與操作的數(shù)據(jù)所在的字節(jié)地址或位地址。

例如:

MOVA,52H

;把片內RAM字節(jié)地址52H單元的內 容送累加器A中。

MOV52H,A

;把A的內容傳送給片內RAM的52H 單元中。

MOV50H,60H

;把片內RAM字節(jié)地址60H單元的內 容送到50H單元中。

MOVIE,#40H

;把立即數(shù)40H送到中斷允許寄存器 IE。IE為專用功能寄存器,其字節(jié) 地址為0A8H。該指令等價于MOV 0A8H,#40H。

INC60H

;將地址60H單元中的內容自加1。能進行直接尋址的存儲空間有:SFR寄存器。內部數(shù)據(jù)RAM的低128個字節(jié)。位地址空間。3.2.3寄存器尋址

以通用寄存器的內容為操作數(shù)的尋址方式。通用寄存器指A、B、DPTR以及R0~R7

等。

例如:CLRA

;A←0

INCDPTR

;DPTR←DPTR+1

ADDR5,#20H

;R5←#20H+R5返回本節(jié);書放在甲抽屜中;甲抽屜的鑰匙放在乙抽屜中;取書,A中

20HMOV30H,#20HMOVR0,#30HMOVA,@R0此例中,20H就當成是那本書;30H就當成是甲抽屜;

R0就當成是乙抽屜,執(zhí)行的結果就是將20H這個立即數(shù)裝入A中。期間也經(jīng)歷了兩次尋址,即間接尋址。、寄存器間接尋址指令中寄存器的內容作為操作數(shù)存放的地址,間接尋址寄存器前用“@”表示前綴。例如:“一本書放在甲抽屜中,上了鎖;其開鎖的鑰匙放在乙抽屜中,乙抽屜也上了鎖。問如何才能取到哪本書?”這就是一個間接尋址的問題,要經(jīng)過兩次尋址才能找到哪本書。而寄存器間接尋址也是同樣。例如:

例如,一條表示A=A+07的指令用機器碼表示:如ACALL,AJMP在指令中含有操作數(shù)的直接地址,該地址指出了參與操作的數(shù)據(jù)所在的字節(jié)地址或位地址。將57H位地址的內容傳送到 位累加器C中addr11——11位目的地址。例如,一條表示A=A+07的指令用機器碼表示:b=2為轉移指令的字節(jié)數(shù)。把A的內容傳送給片內RAM的52H 單元中。如LCALL,LJMP指令操作示意圖如圖所示。4、指定下一條指令存放的地址。如ACALL,AJMPMOVA,52H;內部數(shù)據(jù)RAM的低128個字節(jié)。例如:MOV@R0,A

;內部RAM(R0)←A其指令操作過程示意圖如圖所示。又如:MOVXA,@R1;A←外部RAM(P2R1)其指令操作過程示意圖如圖所示。再如:MOVX@DPTR,A;RAM(DPTR)←A

其指令操作過程示意圖如圖所示。

片內RAM30HR034HA30H34HMOV@R0,A;間接尋址示意圖能用于寄存器間接尋址的寄存器有R0,R1,DPTR,SP。其中R0、R1必須是工作寄存器組中的寄存器。SP僅用于堆棧操作。片外RAM34HP245HA3410H45H10HR1片外RAM2000HDPTR30HA2000H30H

MOVXA,@R1間接尋址示意圖MOVX

@DPTR,A間接尋址示意圖返回本節(jié)3.2.5變址尋址

變址尋址只能對程序存儲器中數(shù)據(jù)進行操作。由于程序存儲器是只讀的,因此變址尋址只有讀操作而無寫操作,

有效地址=基地址寄存器+變址寄存器基地址寄存器DPTR或PC

變址寄存器A

該尋址方式常用于訪問程序存儲器,查表。例如:MOVCA,@A+DPTR;A←(A+DPTR)又如,MOVCA,@A+PC;A←(A+PC)3.2.6、相對尋址把指令中給定的地址偏移量與本指令所在單元地址(PC內容)相加得到真正有效的操作數(shù)所存放的地址。例如“李同學20歲,張同學比李同學大3歲,問張同學多少歲?”這就是一個相對尋年齡的問題,而相對尋址與此類似。如JC60H;設(PC)=2000H為基址,偏移量為60H;

則當C=1時,轉移的目的地址=2000H+2+60H

相對尋址的有效地址為:D=PC+rel則rel=D-PCD—目的地址PC—源地址rel—相對地址

相對地址的機器碼稱為偏移量

disp(補碼表示);

disp

=rel-bb—本條指令的字節(jié)數(shù);取值范圍為-128~+127;

b=2時,rel取值范圍為-126~+129相對尋址用于修改PC值,主要用于實現(xiàn)程序的分支轉移。

例如,SJMP08H

;PC←PC+2+08H

指令操作示意圖如圖所示。

程序存儲器(2000H)200AHSJMP200AH08H2000H+208HPC2000H圖為相對尋址示意圖返回本節(jié)目標地址D=PC+rel;偏移量disp=rel-b;b=2為轉移指令的字節(jié)數(shù)。

即disp=08;PC=2000H;b=2則rel=0AH3.2.7位尋址

MCS-51單片機中設有獨立的位處理器。位操作指令能對內部RAM中的位尋址區(qū)(20H~2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論