單片機原理及應(yīng)用技術(shù)(第2版) 清華大學(xué)出版社第3章_第1頁
單片機原理及應(yīng)用技術(shù)(第2版) 清華大學(xué)出版社第3章_第2頁
單片機原理及應(yīng)用技術(shù)(第2版) 清華大學(xué)出版社第3章_第3頁
單片機原理及應(yīng)用技術(shù)(第2版) 清華大學(xué)出版社第3章_第4頁
單片機原理及應(yīng)用技術(shù)(第2版) 清華大學(xué)出版社第3章_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

3.1概述3.2尋址方式3.3數(shù)據(jù)傳送與交換指令3.4算術(shù)運算指令3.5邏輯運算指令3.6控制轉(zhuǎn)移指令3.7位操作指令3.8偽指令小結(jié)第3章MCS-51單片機的指令系統(tǒng)1一般格式為:

[標(biāo)號:]操作碼[目的操作數(shù)][,源操作數(shù)][;注釋]在兩個操作數(shù)的指令中,通常目的操作數(shù)寫在左邊,源操作數(shù)寫在右邊。

3.1.1MCS-51單片機指令格式標(biāo)號是程序員根據(jù)編程需要給指令設(shè)定的符號地址,可有可無。標(biāo)號由1~8個字符組成,第一個字符必須是英文字母,不能是數(shù)字或其他符號,標(biāo)號后必須用冒號。操作碼是指令的核心部分,用于指示機器執(zhí)行何種操作操作數(shù)是表示指令操作的對象,操作數(shù)可以是一個具體的數(shù)據(jù),也可以是參加運算的數(shù)據(jù)所在的地址。注釋是對指令的解釋說明,用以提高程序的可讀性,注釋前必須加分號。3.1概述2MCS-51單片機指令系統(tǒng)按指令所占的字節(jié)數(shù)可分為以下三類:(1)單字節(jié)指令(49條)例如:INCDPTR(2)雙字節(jié)指令(46條)例如:MOVA,#data(3)三字節(jié)指令(16條)例如:MOVDPTR,#datal6

3.1.2指令的字節(jié)33.1.3MCS-51單片機的助記符語言指令的助記符用英文單詞或縮寫字母來表征指令功能,以便于人們識別、讀/寫、記憶和交流,常用于程序設(shè)計。MCS-51指令系統(tǒng)中,操作碼采用了42種助記符。4不要嘗試去背指令,理解、實踐、會使用才是最主要的!按功能分為五大類:1.?dāng)?shù)據(jù)傳送類指令(8種助記符)

MOV(Move)對內(nèi)部數(shù)據(jù)寄存器RAM和特殊功能寄存器SFR的數(shù)據(jù)進行傳送;

MOVC(MoveCode)讀取程序存儲器數(shù)據(jù)表格的數(shù)據(jù)傳送;

MOVX(MoveExternalRAM)對外部RAM的數(shù)據(jù)傳送;

XCH(Exchange)字節(jié)交換;

XCHD(Exchangelow-orderDigit)低半字節(jié)交換;SWAP(Swap)低4位與高4位交換;

PUSH(PushontoStack)入棧;

POP(PopfromStack)出棧。5不要嘗試去背指令,理解、實踐、會使用才是最主要的!按功能分為五大類:2.算術(shù)運算類指令(8種助記符)

ADD(Addition)加法;

ADDC(AddwithCarry)帶進位加法;

SUBB(SubtractwithBorrow)帶借位減法;

DA(DecimalAdjust)十進制調(diào)整;

INC(Increment)加1;

DEC(Decrement)減1;

MUL(Multiplication、Multiply)乘法;

DIV(Division、Divide)除法。6不要嘗試去背指令,理解、實踐、會使用才是最主要的!按功能分為五大類:3.邏輯運算類指令(9種助記符)

ANL(ANDLogic)邏輯與;

ORL(ORLogic)邏輯或;

XRL(Exclusive-ORLogic)邏輯異或;

CLR(Clear)清零;

CPL(Complement)取反;

RL(Rotateleft)循環(huán)左移;

RLC(RotateLeftthroughtheCarryflag)帶進位循環(huán)左移;

RR(RotateRight)循環(huán)右移;

RRC(RotateRightthroughtheCarryflag)帶進位循環(huán)右移。7不要嘗試去背指令,理解、實踐、會使用才是最主要的!按功能分為五大類:4.控制轉(zhuǎn)移類指令(13種助記符)

ACALL(AbsolutesubroutineCall)子程序絕對調(diào)用;

LCALL(LongsubroutineCall)子程序長調(diào)用;

RET(Returnfromsubroutine)子程序返回;

RETI(ReturnfromInterruption)中斷返回;

JMP(Jump)相對長轉(zhuǎn)移;

SJMP(ShortJump)短轉(zhuǎn)移;

AJMP(AbsoluteJump)絕對轉(zhuǎn)移;

LJMP(LongJump)長轉(zhuǎn)移;

CJNE(CompareJumpifNotEqual)比較不相等則轉(zhuǎn)移;

DJNZ(DecrementJumpifNotZero)減1后不為0則轉(zhuǎn)移;

JZ(JumpifZero)結(jié)果為0則轉(zhuǎn)移;

JNZ(JumpifNotZero)結(jié)果不為0則轉(zhuǎn)移;

NOP(NoOperation)空操作。8不要嘗試去背指令,理解、實踐、會使用才是最主要的!按功能分為五大類:5.位操作指令(6種助記符)

SETB(SetBit)置位JC(JumpiftheCarryflagisset)有進位則轉(zhuǎn)移;

JNC(JumpifNotCarry)無進位則轉(zhuǎn)移;

JB(JumpiftheBitisset)位為1則轉(zhuǎn)移;

JNB(JumpiftheBitisNotset)位為0則轉(zhuǎn)移;

JBC(JumpiftheBitissetandClearthebit)位為1則轉(zhuǎn)移,并清除該位;93.1.4常用符號說明103.2尋址方式尋址方式是指尋找操作數(shù)或指令的地址的方式。MCS-51的尋址方式有七種。即:立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、位對尋址和相對尋址。若不特別聲明,我們后面提到的尋址方式均指源操作數(shù)的尋址方式。11

指令中直接給出操作數(shù)的尋址方式稱為立即尋址。立即數(shù)可以為一個字節(jié),也可以是兩個字節(jié),并要用符號“?!眮順?biāo)識。由于立即數(shù)是一個常數(shù),所以只能作為源操作數(shù)。

立即尋址所對應(yīng)的尋址空間為:ROM

3.2.1立即尋址如:MOVA,#30H;A←30HMOVDPTR,#1638H;DPH←16H,DPL←38H123.2.2直接尋址指令操作碼之后的字節(jié)存放的是操作數(shù)的地址,操作數(shù)本身存放在該地址指示的存儲單元中的尋址方式稱為直接尋址。直接尋址中的SFR經(jīng)常采用符號形式表示。尋址空間為:片內(nèi)RAM低128字節(jié)、SFR。133.2.3寄存器尋址

操作數(shù)存放在寄存器中,指令中直接給出該寄存器名稱的尋址方式??梢垣@得較高的傳送和運算速度。

寄存器可以是:R0~R7、A、B、DPTR。例:MOVA,R1;A←R114

寄存器中的內(nèi)容為地址,從該地址去取操作數(shù)的尋址方式稱為寄存器間接尋址

。尋址的存儲空間為片內(nèi)RAM或片外RAM。片內(nèi)RAM的數(shù)據(jù)傳送采用“MOV”類指令,間接尋址寄存器采用寄存器R0或R1(堆棧操作時采用SP)。片外RAM的數(shù)據(jù)傳送采用“MOVX”類指令,這時間接尋址寄存器有兩種選擇:一是采用R0和R1作間址寄存器,這時R0或R1提供低8位地址(外部RAM多于256字節(jié)采用頁面方式訪問時,可由P2口未使用的I/O引腳提供高位地址);二是采用DPTR作為間址寄存器。

3.2.4寄存器間接尋址15例:MOVR0,#30H;R0←30HMOVA,@R0;A←(R0)即A←(30H)寄存器間接尋址對應(yīng)的空間為:片內(nèi)RAM(采用@R0,@R1)片外RAM(采用@R0,@R1或@DPTR)

163.2.5變址尋址

以一個基地址加上一個偏移量地址形成操作數(shù)地址的尋址方式稱為變址尋址。在這種尋址方式中,以數(shù)據(jù)指針DPTR或程序計數(shù)器PC作為基址寄存器,累加器A作為偏移量寄存器,基址寄存器的內(nèi)容與偏移量寄存器的內(nèi)容之和作為操作數(shù)地址。

變址尋址所對應(yīng)的尋址空間為:ROM例如:MOVCA,@A+DPTR17

對位地址中的內(nèi)容進行操作的尋址方式稱為位尋址。采用位尋址指令的操作數(shù)是8位二進制數(shù)中的某一位。指令中給出的是位地址。位尋址方式實質(zhì)屬于位的直接尋址。

尋址空間為:片內(nèi)RAM的20H~2FH單元中的128可尋址位;SFR的可尋址位。習(xí)慣上,特殊功能寄存器的尋址位常用符號位地址表示。例如:CLRACC.7MOVC,7FH3.2.6位尋址18相對尋址是以程序計數(shù)器PC的當(dāng)前值(指讀出該2字節(jié)或3字節(jié)的跳轉(zhuǎn)指令后,PC指向的下條指令的地址)為基準(zhǔn),加上指令中給出的相對偏移量rel形成目標(biāo)地址的尋址方式。

rel是一個帶符號的8位二進制數(shù),取值范圍是-128~+127,以補碼形式置于操作碼之后存放。如:JCrel;rel=75H3.2.7相對尋址19例:指出下列各指令中操作數(shù)的尋址方式ADDA,40H;直接尋址PUSHAcc;直接尋址MOVB,20H;直接尋址ANLP1,#35H;立即數(shù)尋址MOV@R1,PSW;寄存器尋址20例:設(shè)A=11H,(44H)=22H,R0=33H,試求下列程序依次運行后有關(guān)單元中的

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論