單片機原理與項目實踐3第三章-MCS-51單片機指令系統與匯編語言課件_第1頁
單片機原理與項目實踐3第三章-MCS-51單片機指令系統與匯編語言課件_第2頁
單片機原理與項目實踐3第三章-MCS-51單片機指令系統與匯編語言課件_第3頁
單片機原理與項目實踐3第三章-MCS-51單片機指令系統與匯編語言課件_第4頁
單片機原理與項目實踐3第三章-MCS-51單片機指令系統與匯編語言課件_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章 MCS-51單片機指令 系統與匯編語言主 要 內 容3.1 MCS-51指令系統概述3.2 MCS-51指令系統簡介3.3匯編語言的偽指令3.4 MCS-51匯編語言程序實例3.1 MCS-51指令系統概述 指令格式是指令的結構形式。通常,指令可分為操作碼和操作數兩部分。其中操作碼部分用于指示機器執(zhí)行哪種操作,操作數部分用來指示參加運算的操作數或操作數所在的地址,又可分為目的操作數和源操作數。3.1.1指令格式匯編指令的格式3.1.1指令格式 標號:操作碼目的操作數,源操作數;注釋標號3.1.1指令格式由用戶定義的符號組成,它代表當前指令的首字節(jié)在存儲器單元中的存放地址。標號必須由英文

2、字母開始,以冒號結尾。操作碼3.1.1指令格式表示指令進行哪種操作,用助記符形式給出,助記符一般為英文單詞的縮寫。目的操作數3.1.1指令格式用來存放最終結果的操作數,源操作數用來提供數據來源。任何指令都是“從源操作數到目的操作數”的操作,注意書寫順序不能顛倒。3.1 MCS-51指令系統概述3.1.2操作數的簡記符號1#data表示一個8位的立即數2#data16表示一個16位的立即數3Rn表示R0R7中的某個工作寄存器(n=07)4Ri表示R0或R1工作寄存器(i=0或1)5direct表示128B范圍內某個內部RAM的具體地址或SFR的名稱6addr16表示64KB范圍內某個外部RAM或

3、ROM的地址7addr11表示2KB范圍內某個外部RAM或ROM的地址8rel表示-128+127字節(jié)范圍內某個RAM或ROM地址的偏移量9bit表示RAM或SFR中某個單元的地址10/表示隨后的位狀態(tài)取反11$表示當前指令的首地址12表示寄存器中的數據作為單元地址3.1 MCS-51指令系統概述3.1.3尋址方式1.直接尋址指令中包含direct形式的操作數的尋址方式稱為直接尋址。這里direct可是片內RAM的字節(jié)地址,也可以是特殊功能寄存器的名。3.1.3 尋址方式2.寄存器尋址指令中包含通用寄存器形式的操作數的尋址方式稱為寄存器尋址方式。這里的通用寄存器是指A、B、C、Rn、DPTR。

4、3.1.3 尋址方式3.寄存器間接尋址指令中包含“間接寄存器”形式的操作數的尋址方式稱為寄存器間接尋址方式。這里的間接寄存器是指Ri和DPTR。3.1.3 尋址方式3.寄存器間接尋址由于52系列單片機具有兩個片內高128字節(jié)空間,一個屬于片內RAM,另一個屬于特殊功能寄存器。為此必須采用不同的尋址方式訪問,其中片內RAM只能采用寄存器間接尋址方法訪問,而特殊功能寄存器只能采用直接尋址方法訪問。而片內低128字節(jié)的空間,寄存器間接尋址和直接尋址都可以采用。3.1.3 尋址方式4.立即尋址指令中包含立即數形式的操作數的尋址方式稱為立即尋址方式。這里的立即數包括#data和#data16兩種形式。3

5、.1.3 尋址方式5.變址尋址指令中包含“A+變址寄存器”形式的操作數的尋址方式稱為變址尋址方式。這里的變址寄存器是指DPTR、PC。3.1.3 尋址方式6.位尋址指令中包含bit形式的操作數的尋址方式稱為位尋址方式。這里位地址可以是片內RAM低128字節(jié)中的可位尋址區(qū)內的地址,也可以是SFR中具有位地址的位單元地址或位名稱。3.1.3 尋址方式7.相對尋址指令中包含rel形式的操作數的尋址方式稱為相對尋址方式。相對尋址方式是為了程序的相對轉移而設計的,它以PC的內容為基址,與指令中給出的偏移量rel進行合成,得到轉移目的地址,進而改變PC值,實現程序的跳轉。3.1.3 尋址方式7.相對尋址值

6、得注意的是,由于rel只能形成-128+127字節(jié)的跳轉量,因此編程時必須考慮當前指令行與被跳轉指令行之間的地址差異不能超限。3.2 MCS-51指令系統簡介MCS-51單片機的指令按功能可以分為4類,分別是數據傳送指令、算術運算指令、邏輯操作和移位指令、控制轉移指令。3.2.1數據傳送指令類型助記符格式執(zhí)行的操作指令說明片內RAM傳送MOV A,RnARn以累加器A為目的操作數的傳送MOV A,directAdirectMOV A,RiA(Ri)MOV A,#data AdataMOV Rn,ARnA以Rn為目的操作數的傳送MOV Rn,directRndirectMOV Rn,#dataR

7、ndataMOV direct,AdirectA以direct為目的操作數的傳送MOV direct,RndirectRnMOV direct,directdirectdirectMOV direct,Ridirect(Ri)MOV direct,#datadirectdataMOV Ri,A(Ri)A以Ri為目的操作數的傳遞MOV Ri,direct(Ri)directMOV Ri,#data(Ri)dataMOV DPTR,#data16DPTRdata16以DPTR為目的操作數的傳遞MOV C,bitCbit位地址傳送MOV bit,CbitCMOVX A,RiA(Ri)以累加器A為目的

8、操作數的傳遞MOVX A,DPTRA(DPTR)MOVX Ri,A(Ri)A以Ri為目的的操作數的傳送MOVX DPTR,A(DPTR)A以DPTR為目的操作數的傳送ROM傳送MOVC A,A+PCA(A+PC)以累加器A為目的操作數的傳送MOVC A,A+DPTRA(A+DPTR)堆棧指令PUSH directSPSP+1(SP)direct堆棧的入棧和出棧操作POP directdirect(SP)(SP)SP-1數據交換XCH A,RnARn數據相互交換XCH A,RiA(Ri)XCH A,directAdirectXCH A,RiA03(Ri)033.2.1數據傳送指令類型助記符格式執(zhí)

9、行的操作指令說明類型助記符格式執(zhí)行的操作指令說明加法ADD A,RnAA+Rn不帶進位加法指令ADD A,RnAA+(Ri)ADD A,#dataAA+dataADD A,directAA+directADDC A,RnAA+Rn+CY帶進位加法指令ADDC A,RiAA+Ri+CYADDC A,#dataAA+data+CYADDC A,directAA+direct+CY減法SUBB A,RnAA-Rn-CY帶借位減法指令SUBB A,RiAA-(Ri)-CYSUBB A,#dataAA-data-CYSUBB A,directAA-direct-CY加1INC AAA+1加1指令INC

10、RnRnRn+1INC Ri(Ri)(Ri)+1INC DPTRDPTRDPTR+1INC directdirectdirect+13.2.2算術運算指令3.2.2算術運算指令類型助記符格式執(zhí)行的操作指令說明減1DEC AAA-1減1指令DEC RnRnRn-1DEC Ri(Ri)(Ri)-1DEC directDPTRDPTR-1乘法MUL ABBAAB高位存B,低位存A乘法指令除法DIV ABAA/B(商),B余數除法指令調整DA A若AC=1或A309,則A(A)+06H;若CY=1或A749,則A(A)+60H 十進制加法調整指令3.2.3邏輯操作及移位指令 類型助記符格式執(zhí)行的操作指

11、令說明與ANL A,RnAARn字節(jié)邏輯與指令,通常用于將一字節(jié)中的指定位清零,其余位不變ANL A,RiAA(Ri)ANL A,#dataAAdataANL A,directAAdirectANL direct,AdirectdirectAANL direct,#datadirectdirectdataANL C,bitCCbit位邏輯與指令ANL C,/bitCC/bit3.2.3邏輯操作及移位指令 類型助記符格式執(zhí)行的操作指令說明或ORL A,RnAARn字節(jié)邏輯或指令,通常用于將一字節(jié)中的指定位置1,其余位不變ORL A,RiAA(Ri)ORL A,#dataAAdataORL A,d

12、irectAAdirectORL direct,AdirectdirectAORL direct,#datadirectdirectdataORL C,bitCCbit位邏輯或指令ORL C,/bitCC/bit3.2.3邏輯操作及移位指令 類型助記符格式執(zhí)行的操作指令說明異或XRL A,RnAA Rn邏輯異或指令,通常用于使一字節(jié)中的指定位不變而其余位取反XRL A,RiAA (Ri)XRL A,#dataAA dataXRL A,directAA directXRL direct,Adirectdirect AXRL direct,#datadirectdirect data求反CPL A

13、A/A累加器取反指令CPL CC/C位取反指令CPL bitbit/bit置位SETB CC1位置1指令SETB bitbit13.2.3邏輯操作及移位指令 類型助記符格式執(zhí)行的操作指令說明清零CLR AA0累加器清零指令CLR CC0位清零指令CLR bitbit0循環(huán)移位RL AA左移一位循環(huán)左移指令RLC AA帶進位左移一位帶進位循環(huán)左移指令RR AA右移一位循環(huán)右移指令RRC AA帶進位右移一位帶進位循環(huán)右移指令3.2.4控制轉移指令類型助記符格式執(zhí)行的操作指令說明無條件轉移AJMP addr11PC11150絕對轉移指令,2KB內絕對尋址SJMP relPCPC+rel相對轉移指令-

14、80H7FH短轉移LJMP addr16PCaddr16長轉移指令,64KB內絕對尋址JMP A+DPTRPCA+DPTR間接尋址轉移,64KB內相對尋址子程序調用及返回ACALL addr11PCPC+2,(SP)(SP)+1,(SP)PC07(SP)(SP)+1,(SP)PC815,PCaddr11絕對調用指令,調用范圍同AJMPLCALL addr16PCPC+3,(SP)SP+1,(SP)PC07(SP)(SP)+1,(SP)PC815,PCaddr16長調用指令,調用范圍同LJMPRETPC815(SP),SPSP-1PC07(SP),SPSP-1子程序返回指令RETIPC815(S

15、P),SPSP-1PC07(SP),SPSP-1中斷返回指令3.2.4控制轉移指令類型助記符格式執(zhí)行的操作指令說明條件轉移JZ rel若A=0,則PCPC+rel,否則順序進行累加器A判斷轉移指令JNZ rel若A0,則PCPC+rel,否則順序進行CJNE A,#data,rel若Adata,則PCPC+rel,否則順序進行;若Adata,則CY=1,否則CY=0比較條件轉移指令CJNE A,direct,rel若A(direct),則PCPC+rel,否則順序進行;若Adata,則CY=1,否則CY=0CJNE Rn,#data,rel若Rndata,則PCPC+rel,否則順序進行;若R

16、ndirect,則CY=1,否則CY=0CJNE Ri,#data,rel若Ridata,則PCPC+rel,否則順序進行;若Ridata,則CY=1,否則CY=0DJNZ direct,rel(direct)(direct)-1,若(direct)0,則PCPC+rel,否則順序進行減少1非零轉移指令DJNZ Rn,relRnRn-1,若Rn0,則PCPC+rel,否則順序進行JC rel若CY=1,則PCPC+rel,否則順序執(zhí)行以CY內容為條件的轉移指令JNC rel若CY1,則PCPC+rel,否則順序執(zhí)行JB bit,rel若bit=1,則PCPC+rel,否則順序執(zhí)行以位地址內容為

17、條件的轉移指令JNB bit,rel若bit1,則PCPC+rel,否則順序執(zhí)行JBC bit,rel若bit=1,則PCPC+rel,bit0,否則順序執(zhí)行3.2.4控制轉移指令類型助記符格式執(zhí)行的操作指令說明空操作NOPPC(PC)+1空操作指令,消耗一個機器周期3.3匯編語言的偽指令 MCS-51常用偽指令偽指令格式功能描述ORGORG 16位地址此語句后的源程序或數據塊被存放的ROM起始地址DB標號: DB 把項或項表中的字節(jié)(8位)數值依次存入標號開始的存儲單元中DW標號: DW 把項或項表中的字(16位)數值依次存入標號開始的存儲單元中 MCS-51常用偽指令偽指令格式功能描述EQU標識符 EQU 數或匯編符號將數或匯編符號賦給左邊的標識符DATA標識符 DATA 內部數據地址將內部數據地址賦給左邊的標識符BIT標識符 BIT 位地址將位地址賦給左邊的標識符ENDEND匯編程序源程序段結束DS標號: DS 表達式預留表達式所表示數量的內存單元3.4 STARTUP.A

溫馨提示

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

評論

0/150

提交評論