單片機(jī)原理與接口技術(shù)第3章 MCS-51單片機(jī)指令系統(tǒng)_第1頁
單片機(jī)原理與接口技術(shù)第3章 MCS-51單片機(jī)指令系統(tǒng)_第2頁
單片機(jī)原理與接口技術(shù)第3章 MCS-51單片機(jī)指令系統(tǒng)_第3頁
單片機(jī)原理與接口技術(shù)第3章 MCS-51單片機(jī)指令系統(tǒng)_第4頁
單片機(jī)原理與接口技術(shù)第3章 MCS-51單片機(jī)指令系統(tǒng)_第5頁
已閱讀5頁,還剩100頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共511第3章 MCS-51單片機(jī)指令系統(tǒng)單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共512本章教學(xué)要求(1) 熟悉MCS-51單片機(jī)指令系統(tǒng)的分類、格式。(2) 熟悉MCS-51指令系統(tǒng)的7種尋址方式。(3) 掌握MCS-51指令系統(tǒng)的數(shù)據(jù)傳送、算術(shù)運(yùn)算、邏輯運(yùn)算、轉(zhuǎn)移操作、布爾運(yùn)算等指令的功能。(4) 掌握MCS-51指令系統(tǒng)的各種指令對(duì)寄存器資源的占用情況。 單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共513本 章 目 錄3.1 指令系統(tǒng)簡(jiǎn)

2、介3.1.1 指令系統(tǒng)的分類3.1.2 指令格式3.1.3 指令中的常用符號(hào)3.1.4 尋址方式3.2 指令系統(tǒng)指令系統(tǒng)3.2.1 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令3.2.2 算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令3.2.3 邏輯運(yùn)算指令邏輯運(yùn)算指令3.2.4 控制轉(zhuǎn)移指令控制轉(zhuǎn)移指令3.2.5 位操作指令位操作指令習(xí)題與思考題習(xí)題與思考題單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5143.1 指令系統(tǒng)簡(jiǎn)介指令系統(tǒng)指令系統(tǒng) 計(jì)算機(jī)所有指令的集合,稱為該計(jì)算機(jī)的指令系統(tǒng),它是表征計(jì)算機(jī)性能的重要標(biāo)志。每種計(jì)算機(jī)都有它自己特有的指令系統(tǒng)。指令是指計(jì)算機(jī)執(zhí)行某種操作(如傳送數(shù)據(jù)、做算

3、術(shù)運(yùn)算等)的命令。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共515要讓計(jì)算機(jī)工作,就得向計(jì)算機(jī)發(fā)出指令。 指令的格式是機(jī)器碼指令格式,如:75905B ,即數(shù)字格式。 另一種指令格式,即匯編指令格式,如:MOV P1, #5BH-指令的兩種格式3.1 指令系統(tǒng)簡(jiǎn)介單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共516-MCS-51匯編語言指令格式操作碼 操作數(shù)1 ,操作數(shù)2 ;注釋3.1 指令系統(tǒng)簡(jiǎn)介單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共517-特點(diǎn)1) 指令執(zhí)行時(shí)間短。只需1個(gè)機(jī)器

4、周期的指令有64條,2個(gè)機(jī)器周期的指令有45條,而4個(gè)機(jī)器周期的指令僅有2條(既乘法和除法指令)。2) 指令字節(jié)少。單字節(jié)指令有49條,雙字節(jié)指令有46條,三字節(jié)指令有16條。3) 位操作指令極為豐富,這體現(xiàn)了MCS-51單片機(jī)具有面向控制的特點(diǎn)。3.1 指令系統(tǒng)簡(jiǎn)介單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5183.1.1 指令系統(tǒng)的分類 MCS-51單片機(jī)能夠識(shí)別并執(zhí)行的指令共有111條。按指令所占字節(jié)數(shù)、指令執(zhí)行時(shí)間和指令功能進(jìn)行分類。1按指令所占字節(jié)數(shù)分類按指令所占字節(jié)數(shù)分類 1) 單字節(jié)指令(49條) 2) 雙字節(jié)指令(46條) 3) 三字節(jié)指令

5、(16條)單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5192按指令執(zhí)行時(shí)間分類1) 單周期指令(64條)2) 雙周期指令(45條)3) 四周期指令(2條)3.1.1 指令系統(tǒng)的分類單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51101) 數(shù)據(jù)傳送類指令(29條)2) 算術(shù)運(yùn)算類指令(24條)3) 邏輯運(yùn)算類指令(24條)4) 控制轉(zhuǎn)移類指令(17條)5) 位操作類指令(17條)3.1.1 指令系統(tǒng)的分類單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51113.1.2 指令格式 指令由操作

6、碼和操作數(shù)組成。操作碼用來規(guī)定要執(zhí)行的操作的性質(zhì),操作數(shù)為指令的操作提供數(shù)據(jù)和地址。1指令的基本格式指令的基本格式符號(hào)地址: 操作碼 操作數(shù)1 ,操作數(shù)2 ,操作數(shù)3 ;注釋 其中符號(hào)地址和操作碼之間用“:”作為分隔符,也可再加上若干空格。操作碼和操作數(shù)之間用空格作為分隔符。操作數(shù)之間用“,”作為分隔符。注釋之前用“;”作為分隔符。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5112一條指令必須在一行中寫完。例如:MAIN:MOV A,#10H ;主程序段 MAIN為符號(hào)地址; MOV為操作碼; A、#10H為二個(gè)操作數(shù); 最后是注釋。 指令在送入計(jì)算機(jī)執(zhí)行

7、之前,必須先轉(zhuǎn)換成機(jī)器語言形式。轉(zhuǎn)換成機(jī)器語言的過程稱為匯編,匯編有機(jī)器匯編和手工匯編兩種方法。3.1.2 指令格式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51133.1.2 指令格式 機(jī)器語言是用二進(jìn)制代碼表示的。對(duì)一條指令進(jìn)行二進(jìn)制編碼,可以是單字節(jié)或多字節(jié)的,按照它們占用的存儲(chǔ)空間多少形成了下面3種編碼格式。 (1) 單字節(jié)指令:?jiǎn)巫止?jié)指令指的是該指令占用1個(gè)字節(jié)的存儲(chǔ)單元。 (2) 雙字節(jié)指令:雙字節(jié)指令指的是該指令占用2個(gè)字節(jié)的存儲(chǔ)單元。 (3) 三字節(jié)指令:三字節(jié)指令指的是該指令占用3個(gè)字節(jié)的存儲(chǔ)單元。 單片機(jī)原理與接口技術(shù)(第2版).李曉林

8、.電子工業(yè)出版社返回目錄2022-2-7共51143.1.3 指令中的常用符號(hào) 為了便于閱讀指令,MCS-51指令助記符中的一些常用符號(hào)約定如下。 Rn:表示當(dāng)前工作寄存器R0R7中的一個(gè)。 Ri:表示寄存器間接尋址,常作間接尋址的地址指針。其中Ri代表R0和R1寄存器中的一個(gè)。 direct:表示內(nèi)部數(shù)據(jù)存貯器單元的地址及特殊功能寄存器SFR的地址,對(duì)SFR而言,既可使用它的物理地址,也可直接使用它的名字。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5115 #data:表示8位立即數(shù),即8位常數(shù),取值范圍為#00H#0FFH。 #data16:表示16位

9、立即數(shù),即16位常數(shù),取值范圍為#0000H#0FFFFH。 addr16:表示16位地址。 addr11:表示11位地址。 rel:用補(bǔ)碼形式表示的地址偏移量,取值范圍為-128+127。 bit:表示內(nèi)部RAM和SFR中的具有位尋址功能的位地址。3.1.3 指令中的常用符號(hào)單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5116 :表示間接尋址寄存器或基址寄存器的前綴符號(hào)。 $:表示當(dāng)前指令的地址。 /: 位操作數(shù)的前綴,表示對(duì)該位操作數(shù)取反,如:/bit。 (x):表示存儲(chǔ)單元x的內(nèi)容。 (x):表示以寄存器或存儲(chǔ)單元x的內(nèi)容作為地址的存儲(chǔ)單元的內(nèi)容。 :

10、表示數(shù)據(jù)傳送方向。3.1.3 指令中的常用符號(hào)單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51173.1.4 尋址方式 如何找到參與運(yùn)算的操作數(shù)據(jù)或數(shù)據(jù)所在的地址稱為尋址方式。所以尋址方式是在地址范圍內(nèi)如何找到所需要的操作數(shù)的地址。 MCS-51指令系統(tǒng)的尋址方式主要有立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、基址加變址尋址、相對(duì)尋址和位尋址等七種。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5118 立即尋址是將操作數(shù)直接寫在指令中,作為指令的一部分存放在代碼段里,位置在程序存儲(chǔ)器中。立即尋址中的操作數(shù),稱為立即數(shù)

11、。例如:MOV A, #30H ;30HA3.1.4 尋址方式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51192.直接尋址 直接尋址是將操作數(shù)的地址直接存放在指令中。這種尋址方式的操作數(shù)指的是內(nèi)部數(shù)據(jù)存儲(chǔ)器中存放數(shù)據(jù)的地址,或存放數(shù)據(jù)的一個(gè)特殊功能寄存器地址。例如:MOV A, 30H ;(30H)A3.1.4 尋址方式-直接尋址單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5120直接尋址方式可訪問的范圍1) 特殊功能寄存器特殊功能寄存器這部分存儲(chǔ)單元既可以用單元地址給出,也可以用寄存器符號(hào)的形式給出。如:MOV A,

12、 90H 或 MOV A, P1為同一條指令的兩種寫法(特殊功能寄存器只能用直接尋址方式訪問)。2) 內(nèi)部數(shù)據(jù)存儲(chǔ)器的低內(nèi)部數(shù)據(jù)存儲(chǔ)器的低128個(gè)字節(jié)單元個(gè)字節(jié)單元直接以單元地址的形式給出對(duì)于8032/8052等單片機(jī),其內(nèi)部高128字節(jié)RAM(80HFFH)不能用直接尋址方式訪問。3.1.4 尋址方式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51213) 位地址空間位地址空間片內(nèi)RAM中20H2FH中的128個(gè)位地址,以及SFR中的11個(gè)可進(jìn)行位尋址的寄存器中的位地址(可位尋址的特殊功能寄存器有B、ACC、PSW、IP、IE、SCON、TCON、P0P3

13、)。4) 在一些程序控制指令中,可采用直接尋址方式提直接尋址方式提供程序轉(zhuǎn)移的目標(biāo)地址供程序轉(zhuǎn)移的目標(biāo)地址。3.1.4 尋址方式直接尋址方式可訪問的范圍單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5122-寄存器尋址寄存器尋址是指操作數(shù)存放在寄存器中,并且尋址時(shí)的寄存器已隱含在指令的操作碼中。例如:MOV A, R53.1.4 尋址方式3.寄存器尋址單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5123寄存器尋址方式的尋址范圍:寄存器尋址方式的尋址范圍:(1) 4個(gè)工作寄存器組共32個(gè)通用寄存器(在指令中只能使用當(dāng)前寄存器組

14、)(2) 部分特殊功能寄存器。如A,B,DPTR。-寄存器尋址3.1.4 尋址方式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5124-寄存器尋址4.寄存器間接尋址寄存器間接尋址寄存器間接尋址是指操作數(shù)據(jù)存放在以寄存器內(nèi)容為地址的單元中。如:MOV A, R0 ;(R0)A指令功能為將R0所指出的內(nèi)部RAM單元內(nèi)容送入累加器A中,執(zhí)行過程如圖所示。圖中設(shè)R0=60H。3.1.4 尋址方式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5125寄存器間接尋址的尋址范圍:1) 內(nèi)部低內(nèi)部低128字節(jié)單元字節(jié)單元(只能使用R0、R1

15、作間址寄存器)。2) 外部數(shù)據(jù)存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器(64KB字節(jié),使用DPTR作間址寄存器。另外,外部低128B單元也可用R0、R1作間址寄存器尋址)。3) 在在堆棧操作指令堆棧操作指令(PUSH、POP)中,以堆棧指針SP作間址寄存器,尋址空間為片內(nèi)RAM。3.1.4 尋址方式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5126-基址變址尋址基址變址尋址是指操作數(shù)存放在以變址寄存器和基址寄存器的內(nèi)容相加形成的數(shù)為地址的單元中。其中累加器A作變址寄存器、程序計(jì)數(shù)器PC或寄存器DPTR作基址寄存器?;芳幼冎穼ぶ贩绞匠S糜诓楸聿僮鞑楸聿僮?。如:MOVC A,

16、A+PC ;PC+1PC,(A+PC)AMOVC A, A+DPTR ;(A+DPTR)A3.1.4 尋址方式5.基址變址尋址單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5127相對(duì)尋址是將程序計(jì)數(shù)器PC的當(dāng)前值與指令第二字節(jié)給出的偏移量相加,從而形成轉(zhuǎn)移的目標(biāo)地址。例如:JC 80H ;C=1則跳轉(zhuǎn)-相對(duì)尋址3.1.4 尋址方式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5128-位尋址位尋址是指對(duì)片內(nèi)RAM中20H2FH中的128個(gè)位地址,以及SFR中的11個(gè)可進(jìn)行位尋址的寄存器中的位地址尋址(可位尋址的特殊功能寄存器

17、有B、ACC、PSW、IP、IE、SCON、TCON、P0P3)。例如:MOV C, 20H此指令是將RAM中位尋址區(qū)20H位地址中的內(nèi)容,送給位累加器Cy。位尋址指令不同于字節(jié)地址尋址指令,例如:MOV A, 20H 3.1.4 尋址方式7.位尋址單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5129-位尋址的表示形式1) 直接使用位地址直接使用位地址包括位尋址區(qū)的位地址00H7FH和部分特殊功能寄存器的位地址。例如,PSW寄存器第2位的位地址為D2H。2) 位名稱表示法位名稱表示法專用寄存器中的一些尋址位是有符號(hào)名的,對(duì)其進(jìn)行位尋址時(shí)可用其符號(hào)名,例如,P

18、SW寄存器的第2位可用OV表示。3) 單元地址加位表示法單元地址加位表示法例如,2F單元的第1位,可表示為2FH.1。再如,D0H單元(PSW)的第2位,可表示為D0H.2。3.1.4 尋址方式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51304) 專用寄存器名稱加位表示法專用寄存器名稱加位表示法例如,PSW寄存器的第2位可表示為:PSW.2。對(duì)于可位尋址的特殊功能寄存器,上面4種表示法是等效的。以讀取PSW第二位為例的4種位尋址指令如下:MOV C, 0D2H ;直接使用位地址尋址MOV C, OV ;使用位名稱尋址MOV C, 0D0H.2 ;使用單元

19、地址加位表示法尋址MOV C, PSW.2 ;使用專用寄存器名稱加位表示法尋址3.1.4 尋址方式-位尋址的表示形式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5131在MCS-51單片機(jī)的指令系統(tǒng)中,指令對(duì)哪一個(gè)存儲(chǔ)器空間進(jìn)行操作,是由指令的操作碼和尋址方式確定的。1)對(duì)程序存儲(chǔ)器只能采用立即尋址和基址加變址尋址方式;2)對(duì)特殊功能寄存器只能采用直接尋址方式,不能采用寄存器間接尋址; 3.1.4 尋址方式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51323)對(duì)8032/8052等單片機(jī)內(nèi)部RAM的高128個(gè)字節(jié)(80H

20、FFH),只能采用寄存器間接尋址,不能使用直接尋址方式;4)對(duì)位操作指令只能對(duì)位尋址區(qū)操作;5)外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器只能用MOVX指令訪問;6)內(nèi)部RAM的低128個(gè)字節(jié)(00H7FH)既能用直接尋址,也能用間接尋址。3.1.4 尋址方式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5133存儲(chǔ)空間對(duì)應(yīng)的尋址方式存儲(chǔ)空間對(duì)應(yīng)的尋址方式3.1.4 尋址方式單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51343.2 指令系統(tǒng)MCS-51的數(shù)據(jù)傳送指令共有29條。助記符有MOV、MOVC、MOVX、XCH、XCHD、PUSH、PO

21、P。數(shù)據(jù)傳送指令一般的操作是把源操作數(shù)傳送到目的操作數(shù),指令執(zhí)行完成后,源操作數(shù)不變,目的操作數(shù)等于源操作數(shù)。如果要求在進(jìn)行數(shù)據(jù)傳送時(shí),目的操作數(shù)不丟失,則不能用直接傳送指令,而采用交換型的數(shù)據(jù)傳送指令。數(shù)據(jù)傳送指令不影響標(biāo)志Cy、AC和OV,但可能會(huì)對(duì)奇偶標(biāo)志P有影響。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5135-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5136-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5137助記符 功能說明MOV A, Rn

22、;(Rn)ARn中的內(nèi)容送到累加器A中MOV A, direct ;(direct) A直接地址單元中的內(nèi)容送到 累加器A中MOV A, Ri;(Ri) A Ri內(nèi)容指向的地址單元中的 內(nèi)容送到累加器A中MOV A, #data;dataA立即數(shù)送到累加器A中功能:將源操作數(shù)指定內(nèi)容送到累加器A中。-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5138助記符功能說明MOV Rn, A;(A)Rn 累加器A中的內(nèi)容送到寄存 器Rn中MOV Rn, direct ;(direct) Rn直接尋址單元中的 內(nèi)容送到寄存器Rn中MOV Rn, #data

23、 ;dataRn 立即數(shù)直接送到寄存器 Rn中功能:將源操作數(shù)指定的內(nèi)容送到所選定的工作寄存器Rn中。-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5139助記符 功能說明MOV direct, A ;(A)direct 累加器A中的內(nèi)容送到直接地址單元中MOV direct, Rn;(Rn)direct 寄存器Rn中的內(nèi)容送到直接地址單元中MOV direct1, direct2 ;(direct2) direct1 直接地址單元2 中的內(nèi)容送到直接地址1中MOV direct, Ri ;(Ri) direct以寄存器Ri中的內(nèi)容為地址的單元中

24、內(nèi)容送到直接地址單元中MOV direct,#data ;datadirect 立即數(shù)送到直接地址 單元中-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5140功能:將源操作數(shù)指定的內(nèi)容送到由直接地址指出的片內(nèi)存儲(chǔ)單元中。如:MOV 20H, A;累加器A中的內(nèi)容送到20H直接地址單元中MOV 20H, R1;寄存器R1中的內(nèi)容送到20H直接地址單元中MOV 20H, 30H;30H直接地址單元中的內(nèi)容送到20H直接地址單元中MOV 20H, R1;以寄存器R1中的內(nèi)容為地址的單元中內(nèi)容送到20H直接地址單元中MOV 20H, #34H ;立即數(shù)

25、送到20H直接地址單元中MOV P2, #34H;立即數(shù)送到P2直接地址單元中-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5141助記符 功能說明MOV Ri, A;(A)(Ri) 累加器A中內(nèi)容送到以Ri中內(nèi)容為地址的RAM單元中MOV Ri, direct ;(direct) (Ri)直接地址單元中內(nèi) 容送到以Ri中內(nèi)容為地址的RAM單元中MOV Ri, #data ;data(Ri) 立即數(shù)送到以Ri中內(nèi)容 為地址的RAM單元中-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5142功能:將源

26、操作數(shù)指定的內(nèi)容送到以R0或R1為地址指針的片內(nèi)RAM存儲(chǔ)單元中。如:MOV R0, A;累加器A中內(nèi)容送到以R0中內(nèi)容為 地址的RAM單元中MOV R1, 20H ;20H單元中內(nèi)容送到以R1中內(nèi)容為 地址的RAM單元中MOV R0, #34H ;立即數(shù)34H送到以R0中內(nèi)容為地 址的RAM單元中-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5143助記符 功能說明MOV DPTR, #data16 ;dataHDPH,dataLDPL ;16位常數(shù)的高8位送到DPH,低8位送到DPL功能:將一個(gè)16位的立即數(shù)送到DPTR中去。其中高8位送入D

27、PH,低8位送入DPL。如:MOV DPTR, #1234H ;指令執(zhí)行后DPH中的值為 12H,DPL中的值為34H-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5144如果我們分別向DPH和DPL送數(shù),則結(jié)果也一樣。如下面兩條指令:MOV DPH, #12HMOV DPL, #34H就相當(dāng)于執(zhí)行了MOV DPTR, #1234H。MCS-51是一種8位機(jī),這是唯一的一條16位立即數(shù)傳遞指令。-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5145助記符 功能說明MOVX A, Ri ;(Ri) A

28、寄存器Ri指向的片外RAM單元中的內(nèi)容送到累加器A中MOVX Ri, A ;A(Ri)累加器A中內(nèi)容送到寄存器Ri指向的片外RAM單元中MOVX A, DPTR ;(DPTR) A數(shù)據(jù)指針指向的片外 RAM單元中的內(nèi)容送到累加器A中MOVX DPTR, A ;(A)(DPTR)累加器A中內(nèi)容送到數(shù) 據(jù)指針指向的片外RAM單元中-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5146功能:在MCS-51中,與外部存儲(chǔ)器RAM打交道的只可以是A累加器。所有需要送入外部RAM的數(shù)據(jù)必須通過A傳送,而所有要讀入的外部RAM中的數(shù)據(jù)也必須通過A讀入。在此我們

29、可以看出內(nèi)外部RAM的區(qū)別,內(nèi)部RAM間可以直接進(jìn)行數(shù)據(jù)傳遞,而外部RAM則不行。例如,要將外部RAM中某一單元(假設(shè)為0100H單元的數(shù)據(jù))送入另一個(gè)單元(假設(shè)為0200H單元),則必須先將0100H單元中的內(nèi)容讀入A,然后再送到0200H單元中去。-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5147要讀或?qū)懲獠縍AM,必須要知道16位的RAM地址。在后兩條指令中,地址是被直接放在DPTR中的。而前兩條指令,由于Ri(即R0或R1)只是8位的寄存器,所以只提供低8位地址,此時(shí),高8位地址要由P2口來提供。使用時(shí)應(yīng)先將要讀或?qū)懙牡刂匪腿隓PTR

30、或Ri(高8位地址送到P2口)中,然后再用讀/寫指令。-傳送指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5148例例3-1 將外部RAM的100H單元中內(nèi)容送入外部RAM的200H單元中。MOVDPTR, #0100HMOVXA, DPTRMOVDPTR, #0200HMOVXDPTR, A-傳送指令應(yīng)用單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5149助記符 功能說明MOVC A, A+DPTR ;(A)+(DPTR) A表格地址 ;單元中的內(nèi)容送到累加器A中MOVC A, A+PC;(PC)+1PC,(A)+

31、(PC) A ;表格地址單元中的內(nèi)容送到累加器A中功能:將ROM中的數(shù)據(jù)送到A中。常用此指令來查一個(gè)已存儲(chǔ)在ROM中的數(shù)據(jù)表格。這組指令也稱為查表指令。-傳送指令應(yīng)用單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5150以DPTR或PC為基址,以A為變址,在不斷修改A中內(nèi)容(等值增量)的同時(shí),執(zhí)行該指令,實(shí)現(xiàn)對(duì)ROM中存儲(chǔ)的一塊區(qū)域數(shù)據(jù)的讀取。以PC為基址時(shí),不用設(shè)置PC的值,只需根據(jù)A的內(nèi)容,就可以查出表格中的數(shù)據(jù)。但表格只能放在該條查表指令后面的256個(gè)單元之中,表格的大小受到限制,而且表格只能被一段程序所利用。而以DPTR為基址時(shí),表格的大小和位置可以在

32、64 KB的ROM中任意安排,并且表格可被任意程序塊所共享。說明:查找到的結(jié)果放在A中,因此,這類指令執(zhí)行前后,A中的值不一定相同。-傳送指令應(yīng)用單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5151例例3-2 有一個(gè)110的平方表存放在0100H開始的ROM中,用DPTR和R0基址+變址的尋址方式實(shí)現(xiàn)查表功能,確定110(在R0中)的平方值。MOVDPTR, #0100HMOVA, R0MOVCA, A+DPTR.ORG 0100 ;ORG是指明后面數(shù)據(jù)塊的起始地址DB0,1, 4, 9, 16, 25, 36DB49, 64, 81, 100 ;DB是定義

33、字節(jié)指令-傳送指令應(yīng)用單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5152助記符 功能說明PUSH direct;(SP)+1SP,(direct) (SP);堆棧指針首先加1,直接尋址單元;中的數(shù)據(jù)送到堆棧指針SP所指的;單元中POP direct;(SP) direct,(SP) - 1SP;堆棧指針SP所指的單元中的數(shù)據(jù);送到直接尋址單元中,堆棧指針;SP再進(jìn)行減1操作-傳送指令應(yīng)用單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5153功能:第1條為壓入堆棧指令,就是將direct中的內(nèi)容送入堆棧中;第2條為彈出堆棧指

34、令,就是將堆棧中的內(nèi)容送回到direct中。如: MOVSP, #5FH MOVA, #100 MOVB, #20 PUSHACC PUSHB-傳送指令應(yīng)用其中,PUSH ACC指令是這樣執(zhí)行的:將SP中的值加1,即變?yōu)?0H,然后將A中的值送到60H單元中,因此執(zhí)行完本條指令后,內(nèi)存60H單元中的值就是100。同樣,執(zhí)行PUSH B時(shí),是將SP中的值加1,即變?yōu)?1H,然后將B中的值送入到61H單元中,即執(zhí)行完本條指令后,61H單元中的值變?yōu)?0。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5154助記符 功能說明XCH A, Rn ;(A)(Rn)累加器

35、與工作寄存器 Rn中的內(nèi)容互換XCH A, direct ;(A)(direct)累加器與直接地址 單元中的內(nèi)容互換XCH A, Ri ;(A)(Ri)累加器與工作寄存器 Ri所指存儲(chǔ)單容互換元中的內(nèi)容互換-傳送指令應(yīng)用單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5155XCHD A, Ri;(A.3A.0)(Ri.3Ri.0)累加器與工作寄存器Ri所指存儲(chǔ)單元中的低半字節(jié)內(nèi)容互換SWAP A;(A.3A.0)(A.7A.4)累加器中內(nèi)容高低半字節(jié)互換功能:前4條指令是把累加器A中的內(nèi)容與源操作數(shù)所指的數(shù)據(jù)相互交換。最后一條指令將累加器A中的內(nèi)容高低半字節(jié)互

36、換。-傳送指令應(yīng)用單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5156例例3-3 假設(shè)A中內(nèi)容為34H,R0指向的單元內(nèi)容為56H。執(zhí)行下列指令后看結(jié)果。MOV R6, #29H ;R6=29HXCH A, R6 ;A=29H,R6=34HSWAP A ;A=92HXCH A, R6 ;A=34H,R6=92HXCHD A, R0 ;A=36H,(R0)=54H-傳送指令應(yīng)用單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51573.2.2 算術(shù)運(yùn)算類指令MCS-51的算術(shù)運(yùn)算指令共有24條。助記符有ADD、ADDC、SUBB

37、、DA、INC、DEC、MUL、DIV。算術(shù)運(yùn)算主要是執(zhí)行加、減、乘、除法四則運(yùn)算。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51583.2.2 算術(shù)運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51593.2.2 算術(shù)運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51603.2.2 算術(shù)運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5161例例3-4 設(shè)1067H存在于R1R0中,30A0H存在于R3R2中,計(jì)算R1R0+R

38、3R2,結(jié)果存于R5R4中。MOV A, R0ADD A, R2;R0+R2A和CyMOV R4, AMOV A, R1ADDC A, R3;R1+R3+CyA和CyMOV R5, A R1 R0+R3 R2 R5 R43.2.2 算術(shù)運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5162例例3-5 設(shè)A=12H,R0=33H,(21H)=32H,(34H)=22H,DPTR=1234H。連續(xù)執(zhí)行下面指令后看相應(yīng)寄存器和單元中的結(jié)果。INC A;A=13HINC R0;R0=34HINC 21H;(21H)=33HINC R0;(34H)=23HIN

39、C DPTR ;DPTR=1235H3.2.2 算術(shù)運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51633.2.2 算術(shù)運(yùn)算類指令 十進(jìn)制調(diào)整指令(1條) DA A 在進(jìn)行BCD碼加法運(yùn)算時(shí),跟在ADD和ADDC指令之后,用來對(duì)A累加器中的BCD碼加法運(yùn)算結(jié)果進(jìn)行自動(dòng)修正。 如:設(shè)A=00010101BCD(代表十進(jìn)制數(shù)15) ADD A, #8 ;A=00011101B,按二進(jìn)制規(guī)律相加 DA A ;A=00100011BCD(代表十進(jìn)制23), 調(diào)整為十進(jìn)制的BCD 碼 (實(shí)現(xiàn)按十進(jìn)制規(guī)律加)單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版

40、社返回目錄2022-2-7共51643.2.2 算術(shù)運(yùn)算類指令乘法指令(1條) MUL AB ;(A)(B)A和B累加器A中的內(nèi)容與寄存器B中的內(nèi)容相乘,結(jié)果存在A和B中 功能:將A和B中的兩個(gè)8位無符號(hào)數(shù)相乘,兩數(shù)相乘結(jié)果一般比較大,因此最終結(jié)果用1個(gè)16位數(shù)來表達(dá),其中高8位放在B中,低8位放在A中。在乘積大于FFH時(shí),OV置1,否則OV為0,而Cy總是0。 如:設(shè)A=4EH,B=5DH,執(zhí)行指令 MUL AB 后,乘積是1C56H。所以在B中放的是1CH,而A中放的則是56H,并且OV=1,P=0。 單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5165

41、3.2.2 算術(shù)運(yùn)算類指令除法指令(1條) DIV AB ;(A)(B)A和B 累加器A中的內(nèi)容除以寄存器B中的內(nèi)容,所得到的商存在累加器A中,而余數(shù)存在寄存器B中。 功能:將A中的8位無符號(hào)數(shù)除以B中的8位無符號(hào)數(shù)(A/B)。結(jié)果商放在A中,余數(shù)放在B中。Cy和OV都是0。 如果在作除法前B中的值是00H,也就是除數(shù)為0,那么OV=1。 如:設(shè)A=11H,B=04H,執(zhí)行指令 DIV AB后,A=04H,B=01H;Cy=0,OV=0,P=1。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51663.2.3 邏輯運(yùn)算類指令邏輯運(yùn)算和移位指令共有24條,助記符

42、有ANL、ORL、XRL、CLR、CPL、RL、RLC、RR、RRC。有與、或、異或、求反、左/右移位、清0等邏輯操作,有直接、寄存器和寄存器間址等尋址方式。這類指令一般不影響程序狀態(tài)字(PSW)標(biāo)志。MCS-51指令系統(tǒng)的邏輯運(yùn)算指令見表3-5。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5167邏輯運(yùn)算類指令列表邏輯運(yùn)算類指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5168邏輯運(yùn)算類指令列表邏輯運(yùn)算類指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5169助記符 功能說明

43、ORL A, Rn ;(A)(Rn)AORL A, direct ;(A)(direct)AORL A, Ri ;(A)(Ri)AORL A, #data ;(A)dataAORL direct, A ;(direct)(A)directORL direct, #data ;(direct)datadirect 3.2.3 邏輯運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51703.2.3 邏輯運(yùn)算類指令功能:將兩個(gè)單元中的內(nèi)容執(zhí)行邏輯或操作。如果功能:將兩個(gè)單元中的內(nèi)容執(zhí)行邏輯或操作。如果目的操作數(shù)的直接地址是目的操作數(shù)的直接地址是I/O地址,則

44、為地址,則為“讀讀修改修改寫寫”操作。如:操作。如:MOV A, #45H;A=45HMOV R1, #25H ;R1=25HMOV 25H, #39H;(25H)=39HORLA, R1;45H39H = 7DH, A = 7DHORL25H, #13H;39H13H = 3BH, (25H) = 3BHORL25H, A;3BH7DH =7FH, (25H) = 7FH單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51713.2.3 邏輯運(yùn)算類指令助記符助記符 功能說明功能說明ANL A, Rn ;(A)(Rn)AANL A, direct ;(A)(di

45、rect)AANL A, Ri ;(A)(Ri)AANL A, #data ;(A)dataAANL direct, A ;(direct)(A)directANL direct, #data ;(direct)datadirect單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51723.2.3 邏輯運(yùn)算類指令功能:將兩個(gè)單元中的內(nèi)容執(zhí)行邏輯與操作。如果目的功能:將兩個(gè)單元中的內(nèi)容執(zhí)行邏輯與操作。如果目的操作數(shù)的直接地址是操作數(shù)的直接地址是I/O地址,則為地址,則為“讀讀修修改改寫寫”操作。如:操作。如:MOV A, #45H;A=45HMOV R1, #25

46、H;R1=25HMOV 25H, #79H;(25H)=79HANLA, R1;45H79H = 41H, A = 41HANL25H, #15H;79H15H = 11H, (25H) = 11HANL25H, A;11H41H = 01H, (25H) = 01H單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51733.2.3 邏輯運(yùn)算類指令3邏輯異或指令(邏輯異或指令(6條)條)單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51743.2.3 邏輯運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2

47、022-2-7共51753.2.3 邏輯運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51763.2.3 邏輯運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51773.2.3 邏輯運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51783.2.3 邏輯運(yùn)算類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51793.2.4 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移指令有17條,助記符有:ACALL、LCALL、RET、RETI、AJMP、LJMP、

48、SJMP、JMP、CJNE、DJNZ、JZ、JNZ、NOP。控制轉(zhuǎn)移指令用于控制程序的流向,所控制的范圍即為程序存儲(chǔ)器區(qū)間。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5180控制轉(zhuǎn)移類指令列表控制轉(zhuǎn)移類指令列表3.2.4 控制轉(zhuǎn)移類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51813.2.4 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令列表控制轉(zhuǎn)移類指令列表單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51823.2.4 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令列表控制轉(zhuǎn)移類指令列表單片機(jī)原理與接口技術(shù)(第2

49、版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5183-無條件轉(zhuǎn)移類指令(4條)1) 短轉(zhuǎn)移類指令 AJMP addr11 ;(PC)+2PC,addr11PC.10PC.0,程序計(jì)數(shù)器賦予新值 (11位地址),PC.15PC.11不改變,程序跳轉(zhuǎn)到新PC值指向的地址處2) 長(zhǎng)轉(zhuǎn)移類指令 LJMP addr16 ;addr16PC,給程序計(jì)數(shù)器賦予新值(16位地址),程序跳轉(zhuǎn)到新PC值指向的地址處3) 相對(duì)轉(zhuǎn)移指令 SJMP rel ;(PC)+2+relPC,當(dāng)前程序計(jì)數(shù)器的值先加上2再加上偏移量后給程序計(jì)數(shù)器賦予新值,程序跳轉(zhuǎn)到新PC值指向的地 址處單片機(jī)原理與接口技術(shù)(第2版).

50、李曉林.電子工業(yè)出版社返回目錄2022-2-7共5184-無條件轉(zhuǎn)移類指令(4條)4) 間接轉(zhuǎn)移指令 JMP A+DPTR ;(A)+(DPTR)PC,累加器的值加上數(shù)據(jù)指針的值后給程序計(jì)數(shù)器賦予新值,程序跳轉(zhuǎn)到新PC值指向的地址處 上面前3條指令的區(qū)別如下: (1) 跳轉(zhuǎn)范圍不同。 AJMP addr11;短跳轉(zhuǎn)范圍:2 KB LJMP addr16;長(zhǎng)跳轉(zhuǎn)范圍:64 KB SJMP rel;相對(duì)跳轉(zhuǎn)范圍:128+127 (2) 指令構(gòu)成不同。AJMP和LJMP后跟的是絕對(duì)地址,而SJMP后跟的是相對(duì)地址。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共518

51、5 MOV DPTR, #TAB ;將TAB代表的地址送入DPTR JMP A+DPTR;跳轉(zhuǎn) TAB: AJMP ROUT0;A=0時(shí),跳轉(zhuǎn)到ROUT0TAB+2: AJMP ROUT1;A=2時(shí),跳轉(zhuǎn)到ROUT1TAB+4: AJMP ROUT2;A=4時(shí),跳轉(zhuǎn)到ROUT2TAB+6: AJMP ROUT3;A=6時(shí),跳轉(zhuǎn)到ROUT3.ROUT0:.ROUT1: .ROUT2: .ROUT3: .3.2.4 控制轉(zhuǎn)移類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5186 判A內(nèi)容是否為0轉(zhuǎn)移指令(2條) JZ rel ;若A=0,則(PC)+2+re

52、lPC。累加器中的內(nèi)容為0,則程序轉(zhuǎn)移到偏移量所指向的地址處,否則程序往下執(zhí)行 JNZ rel ;若A0,則(PC)+2+relPC。累加器中的內(nèi)容不為0,則程序轉(zhuǎn)移到偏移量所指向的地址處,否則程序往下執(zhí)行功能:程序轉(zhuǎn)移到相對(duì)于當(dāng)前PC值的8位偏移量的地址處。即:新的PC值=當(dāng)前PC值+2+偏移量rel。在編寫匯編語言源程序時(shí),可以將rel理解成標(biāo)號(hào),直接寫成:JZ 標(biāo)號(hào) ;即程序轉(zhuǎn)移到標(biāo)號(hào)處3.2.4 控制轉(zhuǎn)移類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5187例例3-7 條件轉(zhuǎn)移程序結(jié)構(gòu)舉例。MOV A, R0JZL1MOV R1, #00HAJM

53、P L2L1:MOV R1, #0FFHL2:SJMP L2在執(zhí)行上面這段程序前,如果R0=0,結(jié)果是R1=0FFH;如果R00,結(jié)果是R1=00H。把上面例子中的JZ改成JNZ后,如果R0=0,結(jié)果是R1=00H;如果R00,結(jié)果是R1=0FFH。3.2.4 控制轉(zhuǎn)移類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5188比較不等轉(zhuǎn)移指令(4條)CJNE A, #data, rel ;若Adata,則(PC)+3+relPC。累加器中的內(nèi)容不等于立即數(shù),則程序轉(zhuǎn)移到偏移量所指向的地 址處,否則程序往下執(zhí)行CJNE A, direct, rel ;若A(d

54、irect),則(PC)+3+relPC。累加器中的內(nèi)容不等于直接地址單元中的內(nèi)容,則程序轉(zhuǎn)移到偏移量所指向的地址處,否則程序往下執(zhí)行CJNE Rn, #data, rel ;若Rndata,則(PC)+3+relPC。工作寄存器Rn中的內(nèi)容不等于立即數(shù),則程序轉(zhuǎn)移到偏移量所指向的地址處,否則程序往下執(zhí)行CJNE Ri, #data, rel ;若(Ri)data,則(PC)+3+relPC。工作寄存器Ri指向地址單元中的內(nèi)容不等于立即數(shù),則程序轉(zhuǎn)移到偏移量所指向的地址處,否則程序往下執(zhí)行 3.2.4 控制轉(zhuǎn)移類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7

55、共5189 MOV A, R0 CJNE A, #10H, L1 ;如R010H,則轉(zhuǎn)移至標(biāo)號(hào)L1 MOV R1, #0 ;如R0=10H,則不轉(zhuǎn)移,00HR1 AJMP L3L1: JC L2 ;如Cy=1,即R010H,0AAHR1 AJMP L3L2: MOV R1, #0FFH ;R010H,則R1=0AAH;如果R010H,則R1=0FFH。3.2.4 控制轉(zhuǎn)移類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5190減1不為0轉(zhuǎn)移指令(2條)DJNZ Rn, rel ;(Rn) - 1Rn,若Rn0,則(PC)+2+relPC。工作寄存器Rn中的

56、內(nèi)容減1后不等于0,則程序轉(zhuǎn)移到偏移量所指向的地址處,否則程序往下執(zhí)行DJNZ direct, rel ;(direct) - 1direct,若(direct)0,則(PC)+2+relPC。直接地址單元中的內(nèi)容減1后不等于0,則程序轉(zhuǎn)移到偏移量所指向的地址處,否則程序往下執(zhí)行功能:DJNZ指令將第1個(gè)操作數(shù)所指內(nèi)容減1,然后看這個(gè)值是否等于0,如果等于0,就往下執(zhí)行,如果不等于0,就轉(zhuǎn)移到第2個(gè)操作數(shù)所指定的地方去。3.2.4 控制轉(zhuǎn)移類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5191例例3-9 求01H0AH十個(gè)數(shù)的和,結(jié)果放在A中。MOV 2

57、3H, #0AHCLR ALOOP: ADD A, 23HDJNZ 23H, LOOPSJMP $程序段的執(zhí)行過程是:將23H單元中的數(shù)連續(xù)相加,存至A中,每加一次,23H單元中的數(shù)值減1,直至減到0,共加0AH次。3.2.4 控制轉(zhuǎn)移類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5192例3-10 將A累加器的低四為取反四次、高四位不變。每變換一次,從P1輸出。方法一:用加1計(jì)數(shù)和CJNZ指令配合實(shí)現(xiàn)MOV R0, #0;計(jì)數(shù)初值送0LL:XRLA, #0FH;高4位不變,低四位取反 INCR0;次數(shù)加1 MOV P1, A;從P1輸出CJNE R0,

58、 #04, LL ;不滿四次循環(huán)RET方法二:用DJNZ指令實(shí)現(xiàn)MOV R0, #04H;計(jì)數(shù)初值送4LL:XRLA, #0FHMOV P1, ADJNZ R0, LL;次數(shù)減1不等于0循環(huán)RET3.2.4 控制轉(zhuǎn)移類指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5193調(diào)用指令(2條)LCALL addr16;長(zhǎng)調(diào)用指令A(yù)CALL addr11;短調(diào)用指令返回指令(2條)RET;子程序返回指令RETI;中斷子程序返回指令空操作指令(1條)NOP功能:這條指令除了使PC加1,消耗一個(gè)機(jī)器周期外,沒有執(zhí)行任何操作??捎糜诙虝r(shí)間的延時(shí)。3.2.4 控制轉(zhuǎn)移類指

59、令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51943.2.5 位操作指令在MCS-51單片機(jī)的硬件結(jié)構(gòu)中,有一個(gè)位處理器(又稱布爾處理器),它有位操作指令17條,包括位傳送、邏輯運(yùn)算、控制程序轉(zhuǎn)移等。助記符有,MOV、CLR、CLP、SETB、ANL、ORL、JC、JNC、JB、JNB、JBC。MCS-51指令系統(tǒng)的位操作指令見表3-7。單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51953.2.5 位操作指令單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共51963.2.5 位操作指令

60、可位尋址的RAM區(qū)是20H2FH共16個(gè)字節(jié)單元,即128個(gè)位單元(位地址空間為00H7FH)??晌粚ぶ返腟FR有ACC,B,PSW,IP,IE,SCON,TCON,和P0P3口。它們是SFR中字節(jié)地址能被8整除的部分。位指令中位地址的表達(dá)形式有以下4種。 直接地址方式,如0A8H 點(diǎn)操作符方式,如IE.0 位名稱方式,如EX0 用戶定義名方式,如用偽指令BIT定義單片機(jī)原理與接口技術(shù)(第2版).李曉林.電子工業(yè)出版社返回目錄2022-2-7共5197例例3-11 P3.2和P3.3口各接有一只按鍵,要求它們分別按下時(shí)(P3.2=0或P3.3=0),分別使P1口為0或FFH。START:MOV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論