單片計算機及其應用 第3章_第1頁
單片計算機及其應用 第3章_第2頁
單片計算機及其應用 第3章_第3頁
單片計算機及其應用 第3章_第4頁
單片計算機及其應用 第3章_第5頁
已閱讀5頁,還剩128頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 MCS51單片機的指令系統(tǒng) 第第3 3章章 MCS-51MCS-51單片機指令系統(tǒng)單片機指令系統(tǒng) 3.1 指令概述指令概述 3.2 尋址方式尋址方式 3.3 MCS-51MCS-51系列單片機的指令系統(tǒng)系列單片機的指令系統(tǒng)第3章 MCS51單片機的指令系統(tǒng)3.1 指令概述指令概述 3.1.1 指令的定義指令的定義 3.1.2 指令的組成指令的組成 3.1.3 指令的表示方法指令的表示方法 返回子目錄第3章 MCS51單片機的指令系統(tǒng) 3.1.1 指令的定義指令的定義 1、指令:是人們向計算機發(fā)的一種命令;一條指令對應著一 種操作。2、指令系統(tǒng):CPU所能執(zhí)行的全部指令的集合。 CPU能

2、夠執(zhí)行多少條指令是由CPU的內(nèi)部結(jié)構(gòu)決定的。 不同的CPU,其指令系統(tǒng)不同。第3章 MCS51單片機的指令系統(tǒng) 3.1.2 指令的組成指令的組成 指令由操作碼操作碼和操作數(shù)操作數(shù)組成。操作碼決定CPU執(zhí)行何種操作。操作數(shù)是指參與運算的數(shù)。操作數(shù)及操作對象可以是一個數(shù),也可以是數(shù)所在的地方地方。REG或MEM第3章 MCS51單片機的指令系統(tǒng) 3.1.3 指令的表示方法指令的表示方法 用助記符(指令功能的英文縮寫)書寫。操作數(shù)用規(guī)定的符號書寫。 指令在機器中必須以機器碼(二進制碼)的形式出現(xiàn)。 人們在書寫指令時,可以有二種方法:1 、在計算機發(fā)展的初期,人們用機器碼機器碼書寫指令,這一階段成為機

3、器語言階段。 優(yōu)點:用機器碼書寫的程序,計算機可以直接識別和運行。 缺點:書寫時容易,不容易記憶。2、為了克服機器語言的缺點,人們用符號符號書寫指令: 指令由操作碼操作碼和操作數(shù)操作數(shù)組成。 這一階段成為匯編語言階段. 優(yōu)點:容易理解和記憶。 缺點:計算機不能直接識別和運行。 匯編語言程序必須轉(zhuǎn)換成機器語言程序,轉(zhuǎn)換方法有二種: 手工轉(zhuǎn)換手工轉(zhuǎn)換: : 查表查表 符號指令符號指令-機器碼指令機器碼指令-Mem-Mem 匯編程序匯編程序: : 符號指令符號指令-機器機器-機器碼指令機器碼指令-Mem-Mem第3章 MCS51單片機的指令系統(tǒng)3.2 尋址方式尋址方式 3.2.1 尋址方式的定義尋址

4、方式的定義 3.2.2 MCS51MCS51單片機的尋址方式單片機的尋址方式 返回子目錄第3章 MCS51單片機的指令系統(tǒng) 3.2.1 尋址方式的定義尋址方式的定義 指令由操作碼操作碼和操作數(shù)操作數(shù)組成。指出操作數(shù)所在地方的方式就是尋址方式。指出操作數(shù)所在地方的方式就是尋址方式。操作碼決定操作碼決定CPU執(zhí)行何中執(zhí)行何中操作。操作。操作數(shù)就是操作對操作數(shù)就是操作對象。無論何種指令象。無論何種指令其操作的對象都是其操作的對象都是數(shù)據(jù)數(shù)據(jù)。數(shù)據(jù)在指令中有數(shù)據(jù)在指令中有2種表示方法種表示方法: 1、數(shù)本身、數(shù)本身2、數(shù)所在的地方、數(shù)所在的地方(REG,MEM中中)。第3章 MCS51單片機的指令系統(tǒng)

5、 3.2.2 MCS51單片機的尋址方式 每一種計算機都具有多種尋址方式。尋址方式的多少是 反映指令系統(tǒng)優(yōu)劣的主要指標之一。 MCS51單片機有7種尋址方式。 1、立即尋址立即尋址 2、直接尋址直接尋址 3 、REGREG間址間址 4、 REGREG尋址尋址 5 、變址尋址、變址尋址 6、相對尋址相對尋址 7 、位尋址位尋址第3章 MCS51單片機的指令系統(tǒng)FFH 3.2.2 MCS51單片機的尋址方式 每一種計算機都具有多種尋址方式。尋址方式的多少是 反映指令系統(tǒng)優(yōu)劣的主要指標之一。 MCS51單片機有7種尋址方式。 1、立即尋址立即尋址 2、直接尋址直接尋址 3 、REGREG間址間址 4

6、、變址尋址變址尋址 5 、REGREG尋址尋址 6、相對尋址相對尋址 7 、位尋址位尋址1、 操作數(shù)包含在指令字節(jié)中。操作數(shù)包含在指令字節(jié)中。 緊跟在緊跟在操作碼后面,存放于操作碼后面,存放于ROM中中 。例:例:MOV A,#05H ;(;(74H 05H)2、跟在指令操作碼后面的數(shù)就是參加運、跟在指令操作碼后面的數(shù)就是參加運算的數(shù)算的數(shù), 稱該操作數(shù)為立即數(shù)。稱該操作數(shù)為立即數(shù)。ROM74H05HSFRFFH05HA第3章 MCS51單片機的指令系統(tǒng) 3.2.2 MCS51單片機的尋址方式 每一種計算機都具有多種尋址方式。尋址方式的多少是 反映指令系統(tǒng)優(yōu)劣的主要指標之一。 MCS51單片機

7、有7種尋址方式。 1、立即尋址立即尋址 2、直接尋址直接尋址 3 、REGREG間址間址 4、變址尋址變址尋址 5 、REGREG尋址尋址 6、相對尋址相對尋址 7 、位尋址位尋址1、在指令中直接給出操作數(shù)的地址、在指令中直接給出操作數(shù)的地址, 這種尋址方式這種尋址方式就屬于直接尋址方式。在這種方式中就屬于直接尋址方式。在這種方式中, 指令的操作數(shù)指令的操作數(shù)部分直接是操作數(shù)的地址。部分直接是操作數(shù)的地址。 例:例:MOV A,32H ;(;(E5H,32H)2、在、在MCS -51 單片機指令系統(tǒng)中單片機指令系統(tǒng)中, 直接尋址方式中直接尋址方式中可以訪問可以訪問 2種存儲器空間種存儲器空間:

8、 (1) RAM的低的低 128 個字節(jié)單元個字節(jié)單元(00H7FH)。)。(2) 特殊功能寄存器特殊功能寄存器。 特殊功能寄存器只能用直接尋特殊功能寄存器只能用直接尋址方式進行訪問。址方式進行訪問。 FAHRAMFFH06HSFRFFHAROME5H32H06H32H第3章 MCS51單片機的指令系統(tǒng) 3.2.2 MCS51單片機的尋址方式 每一種計算機都具有多種尋址方式。尋址方式的多少是 反映指令系統(tǒng)優(yōu)劣的主要指標之一。 MCS51單片機有7種尋址方式。 1、立即尋址立即尋址 2、直接尋址直接尋址 3 、REGREG間址間址 4、變址尋址變址尋址 5 、REGREG尋址尋址 6、相對尋址相

9、對尋址 7 、位尋址位尋址1、在這種尋址方式中、在這種尋址方式中, 寄存器的內(nèi)容為操作數(shù)的寄存器的內(nèi)容為操作數(shù)的地址。地址。例例:MOV A, R0 ;(;(E6H)2、寄存器間接尋址只能使用寄存器、寄存器間接尋址只能使用寄存器R0、R1 作為作為地址指針地址指針,尋址尋址內(nèi)部內(nèi)部RAMRAM區(qū)區(qū)的數(shù)據(jù)的數(shù)據(jù); 當訪問當訪問外部外部RAMRAM時時, 可使用可使用R0、 R1及及DPTR作為地址指針。作為地址指針。 寄存器間接尋址符號為寄存器間接尋址符號為“”。FAHRAMFFH22HSFRFFHAROME6H40H40H22HR0第3章 MCS51單片機的指令系統(tǒng) 3.2.2 MCS51單片

10、機的尋址方式 每一種計算機都具有多種尋址方式。尋址方式的多少是 反映指令系統(tǒng)優(yōu)劣的主要指標之一。 MCS51單片機有7種尋址方式。 1、立即尋址立即尋址 2、直接尋址直接尋址 3 、REGREG間址間址 4、 REGREG尋址尋址 5 、變址尋址、變址尋址 6、相對尋址相對尋址 7 、位尋址位尋址1、在該尋址方式中、在該尋址方式中, 參加操作的數(shù)存放在寄參加操作的數(shù)存放在寄存器里。存器里。例例:MOV A,R7 ;(;(EFH)2、寄存器包括、寄存器包括8個工作寄存器個工作寄存器R0R7, 累加累加器器A, 寄存器寄存器B、數(shù)據(jù)指針、數(shù)據(jù)指針DPTR。FAHRAMFFH22HSFRFFHARO

11、MEFH40HR740H第3章 MCS51單片機的指令系統(tǒng) 3.2.2 MCS51單片機的尋址方式 每一種計算機都具有多種尋址方式。尋址方式的多少是 反映指令系統(tǒng)優(yōu)劣的主要指標之一。 MCS51單片機有7種尋址方式。 1、立即尋址立即尋址 2、直接尋址直接尋址 3 、REGREG間址間址 4、 REGREG尋址尋址 5 、變址尋址、變址尋址 6、相對尋址相對尋址 7 、位尋址位尋址 這種尋址方式用于訪問這種尋址方式用于訪問程序存儲器程序存儲器中的中的數(shù)據(jù)表格數(shù)據(jù)表格, 它以基址寄存器它以基址寄存器DPTR或或PC的的內(nèi)容為基本地址內(nèi)容為基本地址, 加上變址寄存器加上變址寄存器A的內(nèi)的內(nèi)容作為操

12、作數(shù)的地。容作為操作數(shù)的地。例例: MOVC A, DPTR+A MOVC A, PC+A 第3章 MCS51單片機的指令系統(tǒng) 3.2.2 MCS51單片機的尋址方式 每一種計算機都具有多種尋址方式。尋址方式的多少是 反映指令系統(tǒng)優(yōu)劣的主要指標之一。 MCS51單片機有7種尋址方式。 1、立即尋址立即尋址 2、直接尋址直接尋址 3 、REGREG間址間址 4、 REGREG尋址尋址 5 、變址尋址、變址尋址 6、相對尋址相對尋址 7 、位尋址位尋址在在MCS -51 指令系統(tǒng)中設有轉(zhuǎn)移指令指令系統(tǒng)中設有轉(zhuǎn)移指令, 分為直接分為直接轉(zhuǎn)移和相對轉(zhuǎn)移指令轉(zhuǎn)移和相對轉(zhuǎn)移指令, 在相對轉(zhuǎn)移指令中采用相在

13、相對轉(zhuǎn)移指令中采用相對尋址方式。這種尋址方式是以對尋址方式。這種尋址方式是以PC的內(nèi)容為基本的內(nèi)容為基本地址地址, 加上指令中給定的偏移量作為轉(zhuǎn)移地址。加上指令中給定的偏移量作為轉(zhuǎn)移地址。指令中給出的偏移量是一個指令中給出的偏移量是一個 8 位帶符號的常數(shù)位帶符號的常數(shù), 可正可負可正可負, 其范圍為其范圍為128+127。例:例:JNB ACC.7,UP第3章 MCS51單片機的指令系統(tǒng) 0 0 0 1 1 0 0 3.2.2 MCS51單片機的尋址方式 每一種計算機都具有多種尋址方式。尋址方式的多少是 反映指令系統(tǒng)優(yōu)劣的主要指標之一。 MCS51單片機有7種尋址方式。 1、立即尋址立即尋址

14、 2、直接尋址直接尋址 3 、REGREG間址間址 4、 REGREG尋址尋址 5 、變址尋址、變址尋址 6、相對尋址相對尋址 7 、位尋址位尋址1、該種尋址方式中、該種尋址方式中, 操作數(shù)是內(nèi)部操作數(shù)是內(nèi)部RAM單元中某一位的信息。單元中某一位的信息。例:例:MOV C,02H ;(;(92H,20H)2、僅出現(xiàn)在對位進行操作的指令中。、僅出現(xiàn)在對位進行操作的指令中。3、位所在地址的表示方法、位所在地址的表示方法: 直接用直接用8位二進制數(shù)表示位二進制數(shù)表示 單元地址單元地址.位數(shù)位數(shù)RAMFFHSFRFFHPSWROM92H20H40H02H1 1 0 0 1 1 1 020100 0 1

15、 0 1 1 0 0第3章 MCS51單片機的指令系統(tǒng)習題與思考:習題與思考:1、 什么是尋址方式?8051有幾種尋址方式?是哪幾種?對特殊功能寄存器應該使用什么尋址方式?對128B的RAM可以使用哪幾種尋址方式? 2、 下列各條指令其源操作數(shù)的尋址方式是什么?(1)MOVA,#48H(2)ADDA,60H(3)ANLA,R0(4)XCHDA,R0(5)MOVXA,DPTR(6)MOVA,R0(7)MOVCA,A+DPTR第3章 MCS51單片機的指令系統(tǒng)3.3 MCS-51系列單片機的指令系統(tǒng)系列單片機的指令系統(tǒng) MCS-51系列單片機的指令系統(tǒng)有111條指令,分成5大類。 要求掌握要求掌握

16、: : 指令的書寫格式指令的書寫格式; ;指令的功能指令的功能; ;指令對標志位的影響。指令對標志位的影響。 3.3.1 數(shù)據(jù)傳送類數(shù)據(jù)傳送類 3.3.2 算術(shù)運算類算術(shù)運算類 3.3.3 邏輯運算及移位類邏輯運算及移位類 3.3.4 位操作類位操作類 3.3.5 控制轉(zhuǎn)移類控制轉(zhuǎn)移類 返回子目錄第3章 MCS51單片機的指令系統(tǒng)3.3.1 數(shù)據(jù)傳送類數(shù)據(jù)傳送類 數(shù)據(jù)傳送類指令可以實現(xiàn)片內(nèi)RAM之間;A與片外RAM及ROM之間的數(shù)據(jù)傳送,不影響標志位。不影響標志位。7FH 00HFFH80HFFFFH0000HFFFFH0000HAXXXXXXXXXXXX真正真正RAM外外RAMROMSFR和

17、第3章 MCS51單片機的指令系統(tǒng)3.3.1 數(shù)據(jù)傳送類數(shù)據(jù)傳送類 1、片內(nèi)片內(nèi)RAMRAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 2、A A與外與外RAMRAM和和ROMROM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 3、堆棧操作堆棧操作 4、交換交換 5、1616位操作指令位操作指令第3章 MCS51單片機的指令系統(tǒng) 1、 片內(nèi)片內(nèi)RAMRAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 1) MOV ARndirectRi, #data8 2) MOV direct, ARndirectRi 3) MOV ARndirectRi, direct 4) MOV A, RnRi 5) MOV RnRi, A 第3章 MCS51單

18、片機的指令系統(tǒng) 1、 片內(nèi)片內(nèi)RAMRAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 1) MOV ARndirectRi, #data8 2) MOV direct, ARndirectRi 3) MOV ARndirectRi, direct 4) MOV A, RnRi 5) MOV RnRi, A MOV A, #data8 MOV Rn, #data8 MOV direct, #data8 MOV Ri, #data8第3章 MCS51單片機的指令系統(tǒng) 1、 片內(nèi)片內(nèi)RAMRAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 1) MOV ARndirectRi, #data8 2) MOV direct, ARn

19、directRi 3) MOV ARndirectRi, direct 4) MOV A, RnRi 5) MOV RnRi, A MOV direct, A MOV direct, Rn MOV direct, direct MOV direct, Ri第3章 MCS51單片機的指令系統(tǒng) 1、 片內(nèi)片內(nèi)RAMRAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 1) MOV ARndirectRi, #data8 2) MOV direct, ARndirectRi 3) MOV ARndirectRi, direct 4) MOV A, RnRi 5) MOV RnRi, A MOV A, direct M

20、OV Rn , direct MOV direct, direct MOV Ri, direct第3章 MCS51單片機的指令系統(tǒng) 1、 片內(nèi)片內(nèi)RAMRAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 1) MOV ARndirectRi, #data8 2) MOV direct, ARndirectRi 3) MOV ARndirectRi, direct 4) MOV A, RnRi 5) MOV RnRi, A MOV A, Rn MOV A, Ri 第3章 MCS51單片機的指令系統(tǒng) 1、 片內(nèi)片內(nèi)RAMRAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 1) MOV ARndirectRi, #data8 2)

21、 MOV direct, ARndirectRi 3) MOV ARndirectRi, direct 4) MOV A, RnRi 5) MOV RnRi, A MOV Rn, A MOV Ri, A第3章 MCS51單片機的指令系統(tǒng) 2、 A A與外與外RAMRAM和和ROMROM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 1) ROM的數(shù)據(jù)送的數(shù)據(jù)送A MOVC A, A+PC MOVC A, A+DPTR 2) A與外與外RAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 MOVX A, DPTR MOVX A, Ri MOVX DPTR,A MOVX Ri, A第3章 MCS51單片機的指令系統(tǒng) 3、堆棧操作、堆

22、棧操作 1) PUSH direct 2) POP direct第3章 MCS51單片機的指令系統(tǒng) 4、交換交換 1)、)、XCH A,RndirectRi XCH A,Rn XCH A,direct XCH A, Ri 2) XCHD A,Ri SWAP A第3章 MCS51單片機的指令系統(tǒng) 5、16位數(shù)據(jù)傳送位數(shù)據(jù)傳送 MOV DPTR , #data16 43H44H40HROM87H45H06HROM90H12HSFRR1DPLDPH例例 MOV DPTR , #1206H12H06H第3章 MCS51單片機的指令系統(tǒng)3.3.2 算術(shù)運算類算術(shù)運算類 對操作數(shù)運行、對操作數(shù)運行、 運算

23、;運算;絕大多數(shù)指令影響絕大多數(shù)指令影響標志位標志位。 參與運算的一個數(shù)一定在參與運算的一個數(shù)一定在A中,運算結(jié)果也存于中,運算結(jié)果也存于A中。中。 1、加法運算加法運算 2、減法運算減法運算 3、乘法運算乘法運算 4、除法運算除法運算 5、BCDBCD碼調(diào)整指令碼調(diào)整指令第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算 1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn 3) INC AdirectRiRnDPTR 不影響標志位不影響標志位第3章 MCS51單片機的指令系統(tǒng)2、減法運算減法運算 1) SUBB A , #da

24、ta8directRiRn 2) DEC AdirectRiRn 不影響標志位不影響標志位第3章 MCS51單片機的指令系統(tǒng)3、乘法運算乘法運算 MUL AB 1、將累加器A的內(nèi)容與寄存器B的內(nèi)容相乘, 乘積的低 8 位存放在累加器A中, 高 8 位存放于寄存器B中。2、對標志位的影響: Cy=0 P 由A中1的個數(shù)決定如果乘積超過0FFH, 則溢出標志OV置“1”, 否則清“0”。 (若B=0,則OV=0 ;若 B不等于0 ,則OV=1) 第3章 MCS51單片機的指令系統(tǒng)4、除法運算除法運算 DIV AB 1、將累加器 A中的內(nèi)容除以寄存器 B中的8位無符 號整數(shù), 所得商的整數(shù)部分存放在

25、累加器A中, 余數(shù)部分存放在寄存器 B中。 2、對標志位的影響: Cy=0 P 由A中1的個數(shù)決定 若原來 B中的內(nèi)容為 0, 則執(zhí)行該指令后 A與 B中的內(nèi)容不定, 并將溢出標志OV置“1”。(若B=0,則OV=0 ;若 B不等于0 ,則OV=1 )第3章 MCS51單片機的指令系統(tǒng)5、BCDBCD碼調(diào)整指令碼調(diào)整指令 DA A 這條指令對累加器A參與的BCD碼加法運算所獲得的 8 位結(jié)果進行十進制調(diào)整, 使累加器A中的內(nèi)容調(diào)整為二位壓縮型 BCD碼的數(shù)。 使用時必須注意使用時必須注意, , 它只能跟在加法指令之后它只能跟在加法指令之后, , 不能對減法不能對減法指令的結(jié)果進行調(diào)整指令的結(jié)果

26、進行調(diào)整, , 且其結(jié)果不影響溢出標志位。且其結(jié)果不影響溢出標志位。 執(zhí)行該指令時, 判斷 A中的低 4 位是否大于 9 和輔助進位標志 AC是否為“1”, 若兩者有一個條件滿足, 則低 4 位加 6 操作; 同樣, A中的高 4 位大于 9 或進位標志 Cy為“1”兩者有一個條件滿足時, 高 4 位加 6 操作。 第3章 MCS51單片機的指令系統(tǒng)3.3.3 邏輯運算與移位類邏輯運算與移位類 對操作數(shù)運行邏輯對操作數(shù)運行邏輯 運算;運算;絕大多數(shù)指令不影響標志位絕大多數(shù)指令不影響標志位。 1、邏輯與運算邏輯與運算 2、邏輯或運算邏輯或運算 3、邏輯異或運算邏輯異或運算 4、邏輯非運算邏輯非運

27、算 5、移位移位第3章 MCS51單片機的指令系統(tǒng) 1 1、邏輯與運算、邏輯與運算 1) ANL A , #data8directRiRn 2) ANL direct , #data8A2、邏輯或運算邏輯或運算 1) ORL A , #data8directRiRn 2) ORL direct , #data8A3、邏輯異或運算邏輯異或運算 1) XRL A , #data8directRiRn 2) XRL direct , #data8A4、邏輯非運算邏輯非運算 1) CPL A 2) CLR A 第3章 MCS51單片機的指令系統(tǒng) 5、移位運算移位運算 對累加器A的內(nèi)容進行移位操作。除了

28、帶進位標志位的移位指令外,其它都不影響Cy, AC, OV等標志。 1) RL A 2) RR A 3) RLC A 4) RRC A第3章 MCS51單片機的指令系統(tǒng)3.3.4 位操作類位操作類 1、在單片機中有的存儲單元只能按字節(jié)操作,有的既可以按字節(jié)操作,又可以按位操作。2、可以按位操作的區(qū)域是: 20H-2FH單元,一些SFG,如A,PSW,B,P0,P1,P2,P3,IP,IE,TCON,SCON。3、每一位都有自己的位地址,位地址一的表示方法如下: 1) 20H-2FH20H-2FH單元:單元: 直接用8位二進制數(shù)表示 由低到高,位地址依次為 00H7FH 單元地址.位碼 2) A

29、 A,P0P0,P1P1,P2P2,P3P3,B B: 直接用8位二進制數(shù)表示 由低到高,位地址依次為 00H7FH 單元地址.位碼 SFG名字.位碼 3) PSWPSW,IPIP,IEIE,TCONTCON,SCONSCON: 直接用8位二進制數(shù)表示 由低到高,位地址依次為 00H7FH 單元地址.位碼 SFG名字.位碼 位名 第3章 MCS51單片機的指令系統(tǒng)3.3.4 位操作類位操作類 1、位傳送位傳送 MOV C,bit MOV bit,C 2、位置位、位置位/復位復位 CLR C CLR bit SETB bit SETB C 3、位運算、位運算 ANL C,bit/ bit取反取反

30、 ORL C,bit/ bit取反取反 CPL C CPL bit第3章 MCS51單片機的指令系統(tǒng)3.3.5 控制轉(zhuǎn)移類控制轉(zhuǎn)移類功能:修改PC的值,實現(xiàn)程序的轉(zhuǎn)移。 原因:1、程序是按著順序在RON中存放的。如:MOV A,#00H INC A SJMP $2、CPU執(zhí)行程序時總是到PC所指示的 ROM單元去取指令并執(zhí)行之。3、PC具有自動加1功能,因此一般情況下CPU按順序執(zhí)行指令。4、實際編程時,會遇到如下情況:1) 反復執(zhí)行某段程序2)根據(jù)條件決定執(zhí)行哪段程序此時就要修改PC的值,以實現(xiàn)程序的轉(zhuǎn)移。即用到轉(zhuǎn)移指令。 00000PC第3章 MCS51單片機的指令系統(tǒng)3.3.5 控制轉(zhuǎn)移

31、類控制轉(zhuǎn)移類 1、轉(zhuǎn)移類轉(zhuǎn)移類 1)、)、無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移指令 2)、)、條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令 2、調(diào)用調(diào)用/ /返回類返回類 1)、)、調(diào)用指令調(diào)用指令 2)、返回指令)、返回指令第3章 MCS51單片機的指令系統(tǒng)1) MOV ARndirectRi, #data8 MOV A, #data8 MOV Rn, #data8 MOV direct, #data8 MOV Ri, #data8 data指令中的指令中的 8 位常數(shù)。位常數(shù)。例:例:MOV A,#33H (74H 33H)FFHROM74H33HSFRFFH33HA第3章 MCS51單片機的指令系統(tǒng)45H40H1) M

32、OV ARndirectRi, #data8 MOV A, #data8 MOV Rn, #data8 MOV direct, #data8 MOV Ri, #data8 Rn當前選定的寄存當前選定的寄存器區(qū)中的器區(qū)中的 8 個工作寄存?zhèn)€工作寄存器器R0R7, 即即n=07。例:例:MOV R5,#45H (7DH 45H)33HROM7DH45HSFRFFHARAMFFH22HR5第3章 MCS51單片機的指令系統(tǒng)1) MOV ARndirectRi, #data8 MOV A, #data8 MOV Rn, #data8 MOV direct, #data8 MOV Ri, #data8

33、direct 用用8 位二進制數(shù)表示的內(nèi)部位二進制數(shù)表示的內(nèi)部RAM單元的地址單元的地址, 它可以是一個內(nèi)部數(shù)據(jù)區(qū)它可以是一個內(nèi)部數(shù)據(jù)區(qū) RAM單元單元(00H7FH)或特殊功能寄存器地或特殊功能寄存器地址址(I / O端口、端口、 控制寄存器、控制寄存器、 狀態(tài)寄存器狀態(tài)寄存器 80H0FFH)。例:例:MOV 40H, #05H (75H 40H 05H) MOV SP, #60H (75H 81H 60H)22H05H40H33HROM75H40H05HSFRFFHSPRAMFFHR540H22H60H40H33HROM75H81H60HSFRFFHSPRAMFFHR540H第3章 MC

34、S51單片機的指令系統(tǒng)33H22H1) MOV ARndirectRi, #data8 MOV A, #data8 MOV Rn, #data8 MOV direct, #data8 MOV Ri, #data8 Ri當前選定的寄存器區(qū)中的當前選定的寄存器區(qū)中的 2 個寄存器個寄存器R0、 R1, i=0、1。例:例:MOV A,R0 (E6H)22H60H40HROMFFHSFRFFHARAMFFHR040H第3章 MCS51單片機的指令系統(tǒng)27H40H33HROMF5H40HFFHSFRFFHARAMFFHR540H 2)、)、MOV direct, ARndirectRi MOV dir

35、ect, A MOV direct, Rn MOV direct, direct MOV direct, Ri 例:例:MOV 40H, A ; (F5H 40H ) 27H第3章 MCS51單片機的指令系統(tǒng)27H40H40H33HROM8EH50HFFHSFRFFHARAMFFHR650H 2)、)、MOV direct, ARndirectRi MOV direct, A MOV direct, Rn MOV direct, direct MOV direct, Ri 例:例:MOV 50H, R6 ;(8EH 50H ) 第3章 MCS51單片機的指令系統(tǒng)27H40H40H33HROM8

36、5H50H30HSFRFFHARAMFFH30H50H 2)、)、MOV direct, ARndirectRi MOV direct, A MOV direct, Rn MOV direct, direct MOV direct, Ri 例:例:MOV 50H, 30H (85H 50H 30H) 第3章 MCS51單片機的指令系統(tǒng)27H30H33HROM87H45HFFHFFH45HRAMFFHR130H 2)、)、MOV direct, ARndirectRi MOV direct, A MOV direct, Rn MOV direct, direct MOV direct, Ri 例

37、:例:MOV 45H, R1 (87H 45H ) 27H第3章 MCS51單片機的指令系統(tǒng)27H40H33HROME5H40HFFHSFRFFHARAMFFHR540H27H 3)、)、MOV ARndirectRi ,direct MOV A, direct MOV Rn , direct MOV direct, direct MOV Ri, direct 例:例:MOV A ,40H ; (E5H 40H ) 第3章 MCS51單片機的指令系統(tǒng)27H40H40H33HROMACH50HFFHSFRFFHARAMFFHR450H 3)、)、MOV ARndirectRi ,direct M

38、OV A, direct MOV Rn , direct MOV direct, direct MOV Ri, direct 例:例:MOV R4,50H ; (ACH 50H ) 第3章 MCS51單片機的指令系統(tǒng)27H40H40H33HROM85H50H30HSFRFFHARAMFFH30H50H 3)、)、MOV ARndirectRi ,direct MOV A, direct MOV Rn , direct MOV direct, direct MOV Ri, direct 例:例: MOV 50H, 30H (85H 50H 30H) 第3章 MCS51單片機的指令系統(tǒng)27H30H

39、33HROMA7H45HFFHFFH45HRAMFFHR130H例:例:MOV R1 ,45H (A7H 45H ) 33H 3)、)、MOV ARndirectRi ,direct MOV A, direct MOV Rn , direct MOV direct, direct MOV Ri, direct 第3章 MCS51單片機的指令系統(tǒng)27H40H33HROMEBHFFHFFHSFRFFHARAMFFHR0R327H 4)、)、 MOV A, Rn MOV A, Ri MOV Rn, A MOV Ri, A例:例:MOV A ,R3 ; (EBH ) 第3章 MCS51單片機的指令系統(tǒng)

40、27H38H33HROME6HFFHFFHFFHASFRFFHR038H27H 4)、)、 MOV A, Rn MOV A, Ri MOV Rn, A MOV Ri, A例:例:MOV A, R0 (E6H ) RAM第3章 MCS51單片機的指令系統(tǒng)ROM87H45HFFH 5)、)、 MOV Rn, A MOV Ri, A27H40H33HROMFAHFFHFFHSFRFFHARAMFFHR240H27H例:例:MOV R2, A ;(;(FAH ) 第3章 MCS51單片機的指令系統(tǒng)27H30H33HROMF7HFFHFFHFFHSFRARAMFFHR130H33H 5)、)、 MOV

41、Rn, A MOV Ri, A例:例:MOV R1 ,A (F7H ) 第3章 MCS51單片機的指令系統(tǒng) 2、 A A與外與外RAMRAM和和ROMROM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 1) ROM的數(shù)據(jù)送的數(shù)據(jù)送A MOVC A, A+PC MOVC A, A+DPTR(93H) 2) A與外與外RAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 MOVX A, DPTR MOVX A, Ri MOVX DPTR,A MOVX Ri, A以以DPTR作為基址寄存器作為基址寄存器, 累加累加器器A的內(nèi)容作為無符號數(shù)與的內(nèi)容作為無符號數(shù)與DPTR內(nèi)容相加內(nèi)容相加, 得到一個得到一個 16 位位的地址的地址, 并

42、把該地址指出的并把該地址指出的ROM單元中的內(nèi)容送到累加器單元中的內(nèi)容送到累加器A。 ROM93HFFH37HSFRDPH20HDPL33HA89HFFH206AH89H第3章 MCS51單片機的指令系統(tǒng) 2、 A A與外與外RAMRAM和和ROMROM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 1) ROM的數(shù)據(jù)送的數(shù)據(jù)送A MOVC A, A+PC MOVC A, A+DPTR 2) A與外與外RAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 MOVX A, DPTR MOVX A, Ri MOVX DPTR,A MOVX Ri, A把把DPTR中的內(nèi)容作為地址中的內(nèi)容作為地址, 并把并把該地址指出的外該地址指出的外

43、RAM單元的內(nèi)容單元的內(nèi)容送到累加器送到累加器A。 ROM93HFFH01HSFRDPH20HDPL33HA89HFFH2001H89H外RAM第3章 MCS51單片機的指令系統(tǒng) 2、 A A與外與外RAMRAM和和ROMROM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 1) ROM的數(shù)據(jù)送的數(shù)據(jù)送A MOVC A, A+PC MOVC A, A+DPTR 2) A與外與外RAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送 MOVX A, DPTR MOVX A, Ri MOVX DPTR,A MOVX Ri, A把把DPTR中的內(nèi)容作為地址中的內(nèi)容作為地址, 并并把累加器把累加器A的內(nèi)容送到該地址指的內(nèi)容送到該地址指出的

44、外出的外RAM單元。單元。 ROM93HFFH02HSFRDPH20HDPLABHA89HFFH2001HABH外RAM2002H第3章 MCS51單片機的指令系統(tǒng)40H33HROM87H45HFFH33HROMC0H40HFFHSFRFFHSPRAMFFH40H50H51H 3、堆棧操作、堆棧操作 1) PUSH direct 2) POP direct1、在、在MCS -51 單片機的內(nèi)部單片機的內(nèi)部RAM中中, 可以設定一個先進后出的區(qū)域可以設定一個先進后出的區(qū)域, 稱其為堆棧。稱其為堆棧。2、在特殊功能寄存器中有一個堆、在特殊功能寄存器中有一個堆棧指針棧指針SP, 它指出棧頂?shù)奈恢?。?/p>

45、指出棧頂?shù)奈恢谩?、 進棧指令的功能是進棧指令的功能是: 首先將堆首先將堆棧指針棧指針SP的內(nèi)容加的內(nèi)容加1, 然后將直接地然后將直接地址所指出的內(nèi)容送入址所指出的內(nèi)容送入SP指出的內(nèi)部指出的內(nèi)部RAM單元。單元。例例 PUSH 40H(C0H)51H50H第3章 MCS51單片機的指令系統(tǒng)33HFFH40HROM87H45HFFHFFHROMD0H40HFFHSFRFFHSPRAM40H50H51H 3、堆棧操作、堆棧操作 1) PUSH direct 2) POP direct出棧指令的功能是出棧指令的功能是: 將將SP所指出的所指出的內(nèi)部內(nèi)部RAM單元的內(nèi)容送入由直接單元的內(nèi)容送入由直接

46、地址所指出的字節(jié)單元地址所指出的字節(jié)單元, 接著將堆接著將堆棧指針棧指針SP的內(nèi)容減的內(nèi)容減 1。例例 POP 40H(D0H)51H50H第3章 MCS51單片機的指令系統(tǒng)51H33H 4、交換交換 1)、)、XCH A,RndirectRi XCH A,Rn XCH A,direct XCH A, Ri 2) XCHD A,Ri將累加器將累加器A的內(nèi)容和的內(nèi)容和Rn中的內(nèi)容相互交換。中的內(nèi)容相互交換。例例 XCH A,R7 ( CFH)FFH40HROM87H45HFFHFFHROMCFHFFHFFHSFRFFHARAMR750H51H51H33H第3章 MCS51單片機的指令系統(tǒng)F2HC

47、DH 4、交換交換 1)、)、XCH A,RndirectRi XCH A,Rn XCH A,direct XCH A, Ri 2) XCHD A,Ri將累加器將累加器A的內(nèi)容和的內(nèi)容和direct所指示的單元中的所指示的單元中的內(nèi)容相互交換。內(nèi)容相互交換。例例 XCH A,32H (C5H 32H)FFH40HROM87H45HFFHFFHROMC5H32HFFHSFRFFHARAM32H50H51HCDHF2H第3章 MCS51單片機的指令系統(tǒng)B6HCDH 4、交換交換 1)、)、XCH A,RndirectRi XCH A,Rn XCH A,direct XCH A, Ri 2) XCH

48、D A,Ri將累加器將累加器A的內(nèi)容和的內(nèi)容和RAM單元中單元中的內(nèi)容相互交換。的內(nèi)容相互交換。 RAM單元的地單元的地址采用寄存器間接尋址方式給出。址采用寄存器間接尋址方式給出。例例 XCH A, R1;(;(C7H)44H40HROM87H45HFFHROMC7HFFHFFHSFRFFHARAMR144H45HCDHB6H第3章 MCS51單片機的指令系統(tǒng)4 HC H 4、交換交換 1)、)、XCH A,RndirectRi XCH A,Rn XCH A,direct XCH A, Ri 2) XCHD A,Ri將累加器將累加器A的內(nèi)容和的內(nèi)容和RAM單元中單元中的內(nèi)容相互交換。的內(nèi)容相互

49、交換。 RAM單元的地單元的地址采用寄存器間接尋址方式給出。址采用寄存器間接尋址方式給出。例例 XCHD A, R1;(;(D7H)44H40HROM87H45HFFHROMD7HFFHFFHSFRFFHARAMR144H45HD2D2第3章 MCS51單片機的指令系統(tǒng) H 4、交換交換 1)、)、XCH A,RndirectRi XCH A,Rn XCH A,direct XCH A, Ri 2) XCHD A,Ri SWAP A將累加器將累加器A的高的高 4 位與低位與低 4 位之位之間進行交換。間進行交換。ROM87H45HFFHROMC4HFFHFFHSFRFFHADC第3章 MCS5

50、1單片機的指令系統(tǒng)1、加法運算加法運算 1) ADD A , #data8directRiRn ADD A ,#30HADD A ,30HADD A ,R0 ADD A ,R5第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算 1) ADD A , #data8directRiRn ADD A ,#30HCDHROM87HFFHROM24H3 0HFFHSFRFFHACDH+ + FDH3 0H第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算 1) ADD A , #data8directRiRn ADD A ,30H2DHROM87HFFHROM24H3 0HFFHSFRFFHA2

51、DH+ + F3H3 0HB6H44H40HRAMR130H31HB6H第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算 1) ADD A , #data8directRiRn ADD A ,R0 2DHROM87HFFHROM24H3 0HFFHSFRFFHA2DH+ + F3H3 0HB6H44H40HRAMR044H45HB6H第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算 1) ADD A , #data8directRiRn ADD A ,R52DHROM87HFFHROM24H3 0HFFHSFRFFHA2DH+ + F3H3 0HB6H44H40HRAMR544H4

52、5HB6H第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算 1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn ADDC A ,#30HADDC A ,35HADDC A ,R1 ADDC A ,R4第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算 1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn ADDC A ,#30HCDHROM87HFFHROM34H3 0HFFHSFRFFHACDH+ + FDH3 0H 0 0 0 1 1 0 0FFHPSW1+

53、+1FFH FEH0第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn ADDC A ,35HCDHROM87HFFHROM24H3 0HFFHSFRFFHACDH+ + FDH3 0H 0 0 0 1 1 0 0FFHPSW1+ +1FFH FEH0B6H30HRAM34H35HB6H30H第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn ADDC A , R0

54、CDHROM87H35HROM24H3 0HSFRFFHACDH+ + FDH3 0H 0 0 0 1 1 0 0FFHPSW1+ +1FFH FEH0B6H30HRAM34H35HB6H30HR0第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn ADDC A , R0CDHROM87H35HROM24H3 0HSFRFFHACDH+ + FDH3 0H 0 0 0 1 1 0 0FFHPSW1+ +1FFH FEH0B6H30HRAM34H35HB6H30HR0第3章 MCS

55、51單片機的指令系統(tǒng)1、加法運算加法運算 1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn 3) INC AdirectRiRnDPTRINC AINC directINC RiINC RnINC DPTR第3章 MCS51單片機的指令系統(tǒng)1、加法運算加法運算 1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn 3) INC AdirectRiRnDPTRINC ACDHROM87H35HROM04HSFRFFHACDH+ +1FFH 0 0 0 1 1 0 0FFHP

56、SW1 1FFH CEH0B6H30HRAM34H35HB6H30HR0第3章 MCS51單片機的指令系統(tǒng)B6H1、加法運算加法運算 1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn 3) INC AdirectRiRnDPTRINC 34HCDHROM87H35HROM05HSFRFFHACDH+ +134H 0 0 0 1 1 0 0FFHPSW1 1FFH B7H0B6H30HRAM34H35H30HR0B6H第3章 MCS51單片機的指令系統(tǒng)B6H1、加法運算加法運算 1) ADD A , #data8directRiRn

57、 2) ADDC A , #data8directRiRn 3) INC AdirectRiRnDPTRINC R0CDHROM87H35HROM06HSFRFFHACDH+ +1FFH 0 0 0 1 1 0 0FFHPSW1 1FFH B7H034HRAM34H35HR0B6H第3章 MCS51單片機的指令系統(tǒng)34HB6H1、加法運算加法運算 1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn 3) INC AdirectRiRnDPTRINC R0CDHROM87H35HROM08HSFRFFHACDH+ +1FFH 0 0

58、0 1 1 0 0FFHPSW1 1FFH 35H034HRAM34H35HR0B6H第3章 MCS51單片機的指令系統(tǒng)34HB6H1、加法運算加法運算 1) ADD A , #data8directRiRn 2) ADDC A , #data8directRiRn 3) INC AdirectRiRnDPTRINC DPTRROM87H35HROM08H+ +1FFH 35H34HSFRDPLDPHA35HB6H B7H第3章 MCS51單片機的指令系統(tǒng)2、減法運算減法運算 1) SUBB A , #data8directRiRn SUBB A ,#30HSUBB A ,35HSUBB A

59、,R1 SUBB A ,R4第3章 MCS51單片機的指令系統(tǒng)2、減法運算減法運算 1) SUBB A , #data8directRiRn SUBB A ,#30HCDHROM87HFFHROM34H3 0HFFHSFRFFHACDH- - 9DH3 0H 0 0 0 1 1 0 0FFHPSW1- -1FFH 9CH0FFH第3章 MCS51單片機的指令系統(tǒng)2、減法運算減法運算 1) SUBB A , #data8directRiRn SUBB A ,35HCDHROM87HFFHROM34H3 0HFFHSFRFFHACDH- - 9DH3 0H 0 0 0 1 1 0 0FFHPSW1

60、- -1FFH 9CH0FFHB6H30HRAM34H35HB6H30H第3章 MCS51單片機的指令系統(tǒng)2、減法運算減法運算1) SUBB A , #data8directRiRn SUBB A , R0CDHROM87H35HROM24H3 0HSFRFFHACDH- - 9DH3 0H 0 0 0 1 1 0 0FFHPSW1- -1FFH 9CH0B6H30HRAM34H35HB6H30HR0第3章 MCS51單片機的指令系統(tǒng)2、減法運算減法運算1) SUBB A , #data8directRiRn SUBB A ,R6CDHROM87H35HROM24H3 0HSFRFFHACDH

溫馨提示

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

評論

0/150

提交評論