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

下載本文檔

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

文檔簡(jiǎn)介

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

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

=

操作碼

+

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

1100011000000111(二進(jìn)制代碼)或C607

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

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

用于相對(duì)轉(zhuǎn)移指令。DPTR——數(shù)據(jù)指針,可用作16位地址寄存器。bit——內(nèi)部RAM或?qū)S眉拇嫫髦械闹苯訉ぶ肺坏刂?。A——累加器。B——專用寄存器,用于乘法和除法指令中。C——進(jìn)位標(biāo)志或進(jìn)位位,或布爾處理機(jī)中的累加器。@——寄存器間接尋址符號(hào)、前綴?!纭?dāng)前指令存放的地址

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

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

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

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

例如:

MOVA,#52H;A

52H MOVDPTR,#5678H;DPTR

5678H

圖為立即尋址示意圖

3.2.2直接尋址

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

例如:

MOVA,52H

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

MOV52H,A

;把A的內(nèi)容傳送給片內(nèi)RAM的52H 單元中。

MOV50H,60H

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

MOVIE,#40H

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

INC60H

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

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

等。

例如:CLRA

;A←0

INCDPTR

;DPTR←DPTR+1

ADDR5,#20H

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

20HMOV30H,#20HMOVR0,#30HMOVA,@R0此例中,20H就當(dāng)成是那本書(shū);30H就當(dāng)成是甲抽屜;

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

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

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

其指令操作過(guò)程示意圖如圖所示。

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

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

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

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

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

變址寄存器A

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

則當(dāng)C=1時(shí),轉(zhuǎn)移的目的地址=2000H+2+60H

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

相對(duì)地址的機(jī)器碼稱為偏移量

disp(補(bǔ)碼表示);

disp

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

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

例如,SJMP08H

;PC←PC+2+08H

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

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

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

MCS-51單片機(jī)中設(shè)有獨(dú)立的位處理器。位操作指令能對(duì)內(nèi)部RAM中的位尋址區(qū)(20H~2

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論