




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第3 3章章 MCS - 51MCS - 51單片機指令系統(tǒng)單片機指令系統(tǒng) 3.1 3.1 指令系統(tǒng)簡介指令系統(tǒng)簡介3.2 3.2 尋址方式尋址方式本章內(nèi)容本章內(nèi)容p3.1 3.1 指令系統(tǒng)簡介指令系統(tǒng)簡介p3.2 3.2 尋址方式尋址方式p3.3 MCS-513.3 MCS-51的指令集的指令集p3.4 3.4 匯編語言程序的基本形式匯編語言程序的基本形式p3.5 3.5 匯編語言程序的基本結(jié)構(gòu)匯編語言程序的基本結(jié)構(gòu)程序框架程序框架1.ORG 0000H2. LJMP MAIN ;跳轉(zhuǎn)至主程序跳轉(zhuǎn)至主程序3.ORG 0003H4. LJMP INT0_INT ;跳轉(zhuǎn)至外部中斷跳轉(zhuǎn)至外部中斷
2、0的中斷服務(wù)程序的中斷服務(wù)程序5.ORG 000BH6. LJMP T0_INT ;跳轉(zhuǎn)至定時器跳轉(zhuǎn)至定時器0的中斷服務(wù)程序的中斷服務(wù)程序7.ORG 0013H8. LJMP INT1_INT ;跳轉(zhuǎn)至外部中斷跳轉(zhuǎn)至外部中斷1的中斷服務(wù)程序的中斷服務(wù)程序9.10.ORG 0030H11.MAIN: ;開始寫主程序開始寫主程序12. 13. END中斷入口地址中斷入口地址主程序開始主程序開始軟件編程環(huán)境軟件編程環(huán)境3.1 3.1 指令系統(tǒng)簡介指令系統(tǒng)簡介p指令:規(guī)定計算機進行某種操作的命令指令:規(guī)定計算機進行某種操作的命令p指令系統(tǒng):指令集合指令系統(tǒng):指令集合n不同系列的機器,其指令系統(tǒng)不同不同
3、系列的機器,其指令系統(tǒng)不同p指令編碼指令編碼n機器語言指令:機器語言指令:二進制數(shù)二進制數(shù)n匯編語言指令:匯編語言指令:助記符(英文縮寫)助記符(英文縮寫)3.1.1 MCS-513.1.1 MCS-51單片機指令單片機指令p111111條條p分類分類n按機器周期數(shù)按機器周期數(shù)p單、雙、四單、雙、四n按指令功能按指令功能p數(shù)據(jù)傳送、算術(shù)運算、邏輯運算及移位、控數(shù)據(jù)傳送、算術(shù)運算、邏輯運算及移位、控制轉(zhuǎn)移、位操作制轉(zhuǎn)移、位操作n按指令的字長分按指令的字長分p單字節(jié)、雙字節(jié)、三字節(jié)單字節(jié)、雙字節(jié)、三字節(jié)字節(jié)少的指令占用存儲字節(jié)少的指令占用存儲單元少,執(zhí)行速度快單元少,執(zhí)行速度快3.1.2 3.1.
4、2 指令的格式指令的格式 標號標號: : 操作碼助記符操作碼助記符 目的操作數(shù)目的操作數(shù),源操作數(shù)源操作數(shù) ; ;注釋注釋 NEXT: MOV A, #0A7H ;NEXT: MOV A, #0A7H ;立即數(shù)立即數(shù)0A7H0A7H送累加器送累加器A A3.1.3 3.1.3 指令的字節(jié)指令的字節(jié) p(1)單字節(jié)指令)單字節(jié)指令n操作碼和操作數(shù)加起來只有一個字節(jié)操作碼和操作數(shù)加起來只有一個字節(jié)p(2)雙字節(jié)指令)雙字節(jié)指令n操作碼和操作數(shù)各占一個字節(jié)操作碼和操作數(shù)各占一個字節(jié)p(3)三字節(jié)指令)三字節(jié)指令n第一字節(jié)為操作碼第一字節(jié)為操作碼n第二、第三字節(jié)為操作數(shù)或操作數(shù)地址第二、第三字節(jié)為操作
5、數(shù)或操作數(shù)地址(1 1)單字節(jié)指令)單字節(jié)指令 (49(49條)條)p無操作數(shù)單字節(jié)指令無操作數(shù)單字節(jié)指令n指令中指令中只有只有操作碼操作碼字段,字段,操作數(shù)操作數(shù)隱含隱含在操作碼中在操作碼中 n例:例:pINC AINC A; ;指令編碼為指令編碼為 04H04Hp含有操作數(shù)寄存器號的單字節(jié)指令含有操作數(shù)寄存器號的單字節(jié)指令 n指令碼由指令碼由操作碼操作碼字段字段和和指示操作數(shù)所在指示操作數(shù)所在寄存器號寄存器號的的字段字段組成組成 n例:例:pMOV AMOV A,Rn ;Rn ;指令編碼為指令編碼為 E8HE8HEFHEFH ALUATMPPSWPCIRID控制器控制器ARB+1RAM地址
6、鎖存地址鎖存RAMROM04HINC AINC A指令編碼:指令編碼:04H04H(2 2)雙字節(jié)指令)雙字節(jié)指令 (46(46條條) )p指令指令n操作碼字節(jié)操作碼字節(jié)在前在前;n在后在后的操作數(shù)字節(jié)可以是的操作數(shù)字節(jié)可以是立即數(shù)立即數(shù),也可以是操,也可以是操作數(shù)所在片內(nèi)作數(shù)所在片內(nèi)RAMRAM的的地址地址。n例:例:pMOV AMOV A,#data ; #data ; 指令編碼為指令編碼為 74H data74H datapMOV AMOV A,dir ;dir ; 指令編碼為指令編碼為 E5H dirE5H dir ALUATMPPSWPCIRID控制器控制器ARB+1RAM地址鎖存地
7、址鎖存RAMROME5H35HFFH36H37H38H34H33H35H35HFFHMOV A, 35HMOV A, 35H指令編碼:指令編碼:E535HE535H(3 3)三字節(jié)指令)三字節(jié)指令 (16(16條條) )p指令指令n第一字節(jié)為操作碼第一字節(jié)為操作碼n第二、第三字節(jié)為操作數(shù)或操作數(shù)地址。分為第二、第三字節(jié)為操作數(shù)或操作數(shù)地址。分為4 4類類p1616位數(shù)據(jù)位數(shù)據(jù)MOV DPTRMOV DPTR,#26ABH#26ABHp8 8位地址和位地址和8 8位數(shù)據(jù)位數(shù)據(jù)MOV 74HMOV 74H,#0FFH#0FFHp8 8位數(shù)據(jù)和位數(shù)據(jù)和8 8位地址位地址CJNE ACJNE A,#0
8、0#00,60H 60H p1616位地址位地址LCALL 2020HLCALL 2020H3.2 3.2 尋址方式尋址方式p尋找操作數(shù)的方式尋找操作數(shù)的方式p7 7種:種:n(1 1) 立即尋址立即尋址n(2 2) 直接尋址直接尋址n(3 3) 寄存器尋址寄存器尋址n(4 4) 寄存器間接尋址寄存器間接尋址n(5 5) 變址尋址變址尋址n(6 6) 相對尋址相對尋址n(7 7) 位尋址位尋址尋址方式尋址方式越多越多指令功能就指令功能就越強越強,靈活性,靈活性越大越大(1 1)立即尋址)立即尋址 例例1 MOV A,1 MOV A,3AH 3AH 例例2 MOV DPTR,2 MOV DPTR
9、,1638H1638H ;A3AH A3AH ;DPTR1638HDPTR1638HMOV MOV 3AH, A3AH, A3AH16H38HMOV MOV 1638H1638H , DPTR, DPTR(2 2) 直接尋址直接尋址 例例 若(若(30H30H)= 0AAH,= 0AAH,執(zhí)行指令執(zhí)行指令MOV AMOV A,30H30H;(A)(30H) (A)(30H) 結(jié)果:(結(jié)果:(A A)= 0AAH= 0AAH0AAH注意:注意:直接尋址直接尋址可以訪問可以訪問 : : 內(nèi)部數(shù)據(jù)存儲器的內(nèi)部數(shù)據(jù)存儲器的低低 128 128 個字節(jié)單元個字節(jié)單元特殊功能寄存器特殊功能寄存器特殊功能寄
10、存器特殊功能寄存器只能用只能用直接尋址直接尋址方式進行訪問方式進行訪問A A、B B、DPTRDPTR?(3 3)寄存器尋址)寄存器尋址 例例 若(若(R0R0)= 0AAH= 0AAH,執(zhí)行指令,執(zhí)行指令MOV AMOV A,R0R0;A(R0) A(R0) 結(jié)果:結(jié)果:(A) = 0AAH(A) = 0AAH指令碼為:指令碼為:E8H 0AAH注意:注意:p可采用寄存器尋址的寄存器可采用寄存器尋址的寄存器nR0R0R7R7n累加器累加器 A ApINC AINC A; ;寄存器尋址寄存器尋址(機器碼(機器碼:04H:04H)pINC ACCINC ACC; ;直接尋址(機器碼直接尋址(機器
11、碼:05:05E0E0H H)pINC 0E0H INC 0E0H ; ;直接尋址(機器碼直接尋址(機器碼:05:05E0E0H H)n寄存器寄存器 B BpMUL AB MUL AB 和和 DIV ABDIV AB; ;寄存器尋址寄存器尋址pMOV B, #12HMOV B, #12H ; ;直接尋址(機器碼直接尋址(機器碼:75:75F0F012H12H)n數(shù)據(jù)指針數(shù)據(jù)指針 DPTRDPTRpINC DPTRINC DPTR和和 MOV DPTRMOV DPTR,#1234H#1234H ; ;寄存器尋址寄存器尋址特特有有指指令令(4 4) 寄存器間接尋址寄存器間接尋址p使用規(guī)定使用規(guī)定n
12、片內(nèi)(低片內(nèi)(低128B128B)RAM RAM 間接用間接用 RiRi(), ,即即pMOV AMOV A,R1 R1 或或 MOV AMOV A,R0R0n片外片外 64KB RAM64KB RAMp間接用間接用 DPTRDPTR,即,即 MOVX AMOVX A,DPTRDPTRp間接用間接用 RiRi,即,即 MOVX AMOVX A,R1R1 或或MOVX AMOVX A,R0R0 此時,此時,高高8 8位位地址由地址由P2P2提供,提供,低低8 8位位地址由地址由RiRi提供提供 例例1 1 若(若(R0R0)=0AAH=0AAH,(,(0AAH0AAH)=5BH=5BH,執(zhí)行指令
13、,執(zhí)行指令MOVMOVA A,R0 R0 ;A(R0)A(R0)結(jié)果:(結(jié)果:(A A)= 5BH= 5BH5BH 練習(xí)練習(xí) 若(若(3456H3456H)=99H=99H,則執(zhí)行完以下指令后,累加,則執(zhí)行完以下指令后,累加器器A A中的數(shù)據(jù)是多少?中的數(shù)據(jù)是多少? MOV DPTR MOV DPTR,#3456H #3456H ; MOVX AMOVX A,DPTR DPTR ;DPTR 3456HDPTR 3456HA A (DPTRDPTR)(A) = 99H(A) = 99H說出兩條指令中,各操作數(shù)的尋址方式。說出兩條指令中,各操作數(shù)的尋址方式。注意:注意:p寄存器寄存器間接間接尋址,
14、尋址,不能不能用于對用于對 SFR 尋址尋址p堆棧操作(堆棧操作(PUSHPUSH,POPPOP)隱含為)隱含為SPSP間接尋址間接尋址p所用寄存器所用寄存器n基地址寄存器:基地址寄存器:DPTRDPTR、PCPCn累加器累加器A:預(yù)先預(yù)先存放存放被尋址操作數(shù)地址被尋址操作數(shù)地址相對相對基地址基地址的的偏移量偏移量p只能只能 訪問訪問 ROMROMp3 3條條nMOVMOVC C A A,A+PC A+PC ;A ((A)+(PC)(A)+(PC))nMOVMOVC C A A,A+DPTR A+DPTR ;A ((A)+(DPTR)(A)+(DPTR))nJMP JMP A+DPTR A+D
15、PTR ;PC (A)+(DPTR) (A)+(DPTR)(5 5) 變址尋址變址尋址取操作取操作數(shù)數(shù)獲得程序的跳轉(zhuǎn)獲得程序的跳轉(zhuǎn)地址地址下一條下一條指令指令的的PC值值 例例1 1 若(若(A A)= 08H= 08H,(,(DPHDPH)= 20H= 20H,(,(DPLDPL)= 00H= 00H;執(zhí)行:執(zhí)行:MOVC AMOVC A,A+DPTRA+DPTR執(zhí)行后:執(zhí)行后:(A) = 88H(A) = 88H88H 例例22若(若(A A)=30H=30H,(,(1031H1031H)= 20H= 20H執(zhí)行:執(zhí)行:地址地址1000H1000H處的指令處的指令 1000H1000H:M
16、OVC AMOVC A,A+PC A+PC 執(zhí)行后:(執(zhí)行后:(A A)= 20H= 20H20H 例例33若(若(A A)=08H=08H,(DPTR)=2000H(DPTR)=2000H執(zhí)行:執(zhí)行:JMP A+DPTRJMP A+DPTR執(zhí)行后:執(zhí)行后:(PCPC)= 2008H= 2008H 程序從程序從 ROM ROM 地址地址 2008H 2008H 處開始執(zhí)行處開始執(zhí)行(6 6) 相對尋址相對尋址p操作操作n修改修改PC的值,實現(xiàn)程序的的值,實現(xiàn)程序的n轉(zhuǎn)移的目的地址轉(zhuǎn)移的目的地址p目的地址目的地址 轉(zhuǎn)移指令下條指令地址轉(zhuǎn)移指令下條指令地址( (PCPC的的當前當前值值) ) re
17、lrelp目的地址目的地址 轉(zhuǎn)移指令地址轉(zhuǎn)移指令地址 轉(zhuǎn)移指令轉(zhuǎn)移指令字節(jié)數(shù)字節(jié)數(shù) relrelp其中其中relrel 帶符號的帶符號的8 8位二進制數(shù)位二進制數(shù) 補碼形式(補碼形式(128128127127)等價等價等價等價在實際編程中,在實際編程中,“relrel” 通常用通常用標號標號代替代替rel 例例 已知已知 (PCPC)=2000H =2000H 執(zhí)行如下指令執(zhí)行如下指令地址地址 ORG 2000H ORG 2000H 指令碼指令碼2000H 2000H 200AH 80H 08H80H 08H2002H 2002H NOP NOP 00H 00H 200AH NOP NOP 0
18、0H00H結(jié)果:程序轉(zhuǎn)移到結(jié)果:程序轉(zhuǎn)移到200A200A處開始繼續(xù)執(zhí)行處開始繼續(xù)執(zhí)行(7 7) 位尋址位尋址p操作數(shù):操作數(shù):n片內(nèi)片內(nèi) RAMRAM 單元中的某一單元中的某一位位n只給出只給出位地址位地址,而,而不是不是字節(jié)地址字節(jié)地址p可位尋址區(qū)為:可位尋址區(qū)為:n片內(nèi)片內(nèi)RAMRAM(共(共1616個字節(jié),個字節(jié),128128個位)個位)p字節(jié)地址:字節(jié)地址:20H20H2FH2FHp位地址:位地址:00H00H7FH7FH能被能被8 8整除整除的的SFRSFR的相應(yīng)位地址的相應(yīng)位地址p 例例 CLR ACC.0 ;CLR ACC.0 ;累加器累加器A A的的D0D0位清零位清零MOV
19、 30HMOV 30H,C C ; 30H30H為片內(nèi)為片內(nèi)RAMRAM中的位地址中的位地址可位尋址區(qū)可位尋址區(qū)回顧:片內(nèi)回顧:片內(nèi)RAMRAMp工作寄存器區(qū):工作寄存器區(qū):n字節(jié)地址:字節(jié)地址:00H00H1FH1FHp位尋址區(qū):位尋址區(qū):n字節(jié)地址:字節(jié)地址:20H20H2FH2FHn位地址為:位地址為:00H00H7FH7FHp數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)/ /堆棧區(qū):堆棧區(qū):n字節(jié)地址:字節(jié)地址:00H00H7FH7FHn一般使用一般使用30H30H7FH7FH可位尋址區(qū)可位尋址區(qū)回顧:特殊功能寄存器回顧:特殊功能寄存器SFRSFRp占用字節(jié)地址:占用字節(jié)地址:80H80HFFHFFHp位尋址
20、寄存器:位尋址寄存器:n其字節(jié)地址可被其字節(jié)地址可被8 8整除整除p專用寄存器:專用寄存器:nA A、B B、PSWPSW、DPTRDPTR、SPSPpI/OI/O接口寄存器:接口寄存器:nP0P0、P1P1、P2P2、P3P3、SBUFSBUF、TMODTMOD、TCONTCON、SCON SCON 位地址的表示方式,位地址的表示方式,4 4種種p 直接使用位地址直接使用位地址nMOV CMOV C,0D5H0D5HpPSWPSW的位的位5 5(位地址位地址D5HD5H)的狀態(tài)送進位標志位)的狀態(tài)送進位標志位p 單元地址加位序號的形式單元地址加位序號的形式nMOV CMOV C,0D0H.5
21、0D0H.5pPSWPSW(單元地址單元地址0D0H0D0H)的位)的位5 5(位地址(位地址D5HD5H)的狀態(tài)送進位標志位)的狀態(tài)送進位標志位p 特殊功能寄存器符號加位序號的形式特殊功能寄存器符號加位序號的形式nMOV CMOV C,PSW.5PSW.5pPSWPSW的位的位5 5的狀態(tài)送進位標志位的狀態(tài)送進位標志位p 位名稱表示形式位名稱表示形式nMOV CMOV C,F(xiàn)0F0pPSWPSW的位的位5 5(位地址(位地址D5HD5H、位名稱為、位名稱為F0F0)的狀態(tài)送進位標志位)的狀態(tài)送進位標志位小結(jié):小結(jié):尋址方式和尋址空間尋址方式和尋址空間序號序號尋址方式尋址方式使用的變量使用的變量尋址空間尋址空間1 1立即尋址立即尋址ROMROM2 2直接尋址直接尋址(1)(1)內(nèi)部內(nèi)部RAMRAM的低的低128128字節(jié);字節(jié);(2)(2)特殊功能寄存器特殊功能寄存器3 3寄存器尋址寄存器尋址R0R0R7R7、A A、B B、DPTRDPTR
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 薪材苗木采購合同
- 電子支付中介合同
- 財務(wù)人員雇傭合同
- 電子書內(nèi)容創(chuàng)新與策劃考核試卷
- 誠信租房合同簽署指南
- 糧食倉儲企業(yè)綠色經(jīng)濟企業(yè)風(fēng)險管理考核試卷
- 竹材運輸中的損耗控制考核試卷
- 油墨的紫外光固化技術(shù)考核試卷
- 成人教育中的學(xué)習(xí)滿意度調(diào)查考核試卷
- 管道工程可持續(xù)發(fā)展戰(zhàn)略考核試卷
- GB/T 9775-2008紙面石膏板
- GB/T 12604.4-2005無損檢測術(shù)語聲發(fā)射檢測
- GB/T 1229-2006鋼結(jié)構(gòu)用高強度大六角螺母
- 多中心結(jié)直腸癌臨床研究生物樣本庫信息系統(tǒng)的建設(shè)與管理
- 消防管道支架制作安裝標準2017.噴淋
- 曲柄連桿機構(gòu)拆裝教學(xué)教材課件
- 合格供應(yīng)商年度評審計劃
- 培訓(xùn)考試匯總金屬膠接工藝簡介
- Q-RJ 557-2017 航天型號產(chǎn)品禁(限)用工藝目錄(公開)
- ZGM95G-1型中速輥式磨煤機使用和維護說明書
- SZ系列GPS標準時間同步鐘使用說明
評論
0/150
提交評論