單片機原理與接口技術:第3章 MCS-51單片機指令系統_第1頁
單片機原理與接口技術:第3章 MCS-51單片機指令系統_第2頁
單片機原理與接口技術:第3章 MCS-51單片機指令系統_第3頁
單片機原理與接口技術:第3章 MCS-51單片機指令系統_第4頁
單片機原理與接口技術:第3章 MCS-51單片機指令系統_第5頁
已閱讀5頁,還剩109頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統第三章第三章 MCS-51單片機指令系統單片機指令系統指令系統指令系統MCS-51尋址方式尋址方式3.23.1MCS-51指令系統指令系統3.3華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統掌握指令格式及表示方法:助記符掌握指令格式及表示方法:助記符表示和機器碼表示。表示和機器碼表示。了解尋址方式的概念了解尋址方式的概念12掌握常用指令的功能及應用掌握常用指令的功能及應用3學習目的學習目的華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51

2、單片機指令系統單片機指令系統指令系統簡介指令系統簡介單字節指令單字節指令雙字節指令雙字節指令三字節指令三字節指令偽指令偽指令3.1 指令系統指令系統華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統指令系統簡介指令系統簡介華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統單字節指令單字節指令( (49條條) )(1 1)8位編碼僅為操作碼位編碼僅為操作碼如:如:INC A。該指令的編碼為:該指令的編碼為:0000 0100B,累加,累加 器器A隱含在操作碼中。隱含在操作碼中。位號位號7 6 5 4 3 2

3、1 0字節字節opcode注:注:opcode表示操作碼表示操作碼注意:注意:在指令中用在指令中用“A”表示累加器,而用表示累加器,而用“ACC” 表示累加器對應的地址(表示累加器對應的地址(E0H)華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統如:如:MOV A,R0 編碼編碼為為1110 1000B(低(低3位位000 為寄存器為寄存器R0的編碼)。的編碼)。(2 2)8位編碼含有操作碼和寄存器編碼位編碼含有操作碼和寄存器編碼位號位號7 6 5 4 3 2 1 0字節字節opcoder r r注:注:rrr表示寄存器編碼表示寄存器編碼高高5位

4、位為操作碼,為操作碼,低低3位位為存放操作數的寄存器編碼。為存放操作數的寄存器編碼。華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統雙字節指令雙字節指令(45(45條條) )如:如:MOV A,#50H 編碼編碼為為0111 0100B,0101 0000B。位號位號7 6 5 4 3 2 1 0字節字節opcodedata或或direct t注:注:data和和direct表操作數或其地址表操作數或其地址 第一字節第一字節表示操作碼,表示操作碼,第二個字節第二個字節表示操作數,表示操作數,即參與操作的數據或數據存放的地址。即參與操作的數據或數據存

5、放的地址。華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統三字節指令三字節指令( (17條條) )如:如:MOV 20H,#50H 編碼編碼為為0111 0101B,0010 0000B,0101 0000B位號位號7 6 5 4 3 2 1 0字節字節opcodedata或或directdata或或direct 第一字節第一字節表示操作碼,表示操作碼,后兩個字節后兩個字節表示操作數,表示操作數,即參與操作的數據或數據存放的地址。即參與操作的數據或數據存放的地址。華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機

6、指令系統偽指令(偽指令(Pseudo Instruction)偽指令:偽指令:也稱匯編命令,也稱匯編命令,僅提供匯編控制信息,僅提供匯編控制信息,不不產生機器語言指令。產生機器語言指令。.ORGDATAENDEQUDBDWDSBIT華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統例如:例如: ORG 1000H START:MOV A,12H ORG偽指令通知匯編程序,偽指令通知匯編程序,從從 START開始的程序段,其起開始的程序段,其起始地址由始地址由1000H開始開始。由于。由于1000H是立即數型地址碼,所以還隱是立即數型地址碼,所以還隱含

7、地指明該程序段是絕對地址段。含地指明該程序段是絕對地址段。 ORG 定位偽指令定位偽指令ORG m:指定指定其后面的程序或數據塊存放的其后面的程序或數據塊存放的起始地址起始地址 m為十進制或十六進制數。為十進制或十六進制數。m指出在該偽指令后的指令的指出在該偽指令后的指令的地址,即生成的機器指令的起始存儲器地址。地址,即生成的機器指令的起始存儲器地址。 必須放在每段源程序或數據段的開始行,在一個源程序中必須放在每段源程序或數據段的開始行,在一個源程序中允許有多條定位偽指令,但每一個允許有多條定位偽指令,但每一個m值都應和前面生成的機器值都應和前面生成的機器指令存放地址指令存放地址不重疊不重疊。

8、華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統END 匯編結束偽指令匯編結束偽指令功能:功能:通知匯編程序結束匯編。通知匯編程序結束匯編。說明:說明:(1 1)在)在END之后即使后面還有指令,匯編程序也不之后即使后面還有指令,匯編程序也不 作處理。作處理。(2 2)在程序中可以有多條)在程序中可以有多條END指令,一般在程序的指令,一般在程序的 最后需要一條最后需要一條END偽指令,否則匯編程序會提偽指令,否則匯編程序會提 示警告錯誤,當然這并不會影響程序的正常運行。示警告錯誤,當然這并不會影響程序的正常運行。華南農業大學工程學院華南農業大學工

9、程學院第三章第三章 MCS-51單片機指令系統單片機指令系統指令格式:指令格式:字符名稱字符名稱EQU表達式表達式(數和匯編符號)(數和匯編符號)功能:功能:把表達式賦值給字符名稱把表達式賦值給字符名稱,字符名稱和表達式必不可少。,字符名稱和表達式必不可少。說明:說明:(1 1)用)用EQU賦過值的符號名可用作數據地址、代碼地址、位賦過值的符號名可用作數據地址、代碼地址、位 地址或是立即數。它可以是地址或是立即數。它可以是8位的、也可以是位的、也可以是16位的。位的。(2 2)主要作用是使程序更好理解,達到望文生義的效果。)主要作用是使程序更好理解,達到望文生義的效果。(3 3)字符名稱字符名

10、稱不同于標號,其后沒有冒號。不同于標號,其后沒有冒號。EQU (EQUate)賦值偽指令)賦值偽指令例如:例如:LOOPEQU2002H 向匯編程序表明,向匯編程序表明,LOOP的值為的值為2002H。LOOP1EQULOOP LOOP已賦值為已賦值為2002H,則相當于,則相當于LOOP1LOOP,即,即LOOPI也為也為2002H,在程序中,在程序中LOOP和和LOOP1可以互換使用。可以互換使用。 華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統指令格式:指令格式:字符名稱字符名稱 DATA 表達式表達式功能:功能:把表達式賦值給字符名稱把表

11、達式賦值給字符名稱,字符名稱和表達式必不可少,字符名稱和表達式必不可少說明:說明:(1 1)表達式可以是數據或地址,也可以是包含所定義)表達式可以是數據或地址,也可以是包含所定義“字符名字符名 稱稱”在內的表達式,但不可以是匯編符號(如在內的表達式,但不可以是匯編符號(如R0、R7)。)。(2 2)字符名稱字符名稱不同于標號,其后沒有冒號。不同于標號,其后沒有冒號。DATA 數據地址賦值偽指令數據地址賦值偽指令DATA與與EQU的區別:的區別:(1 1)EQU定義的定義的“字符名稱字符名稱”必須必須先定義后使用先定義后使用,而,而DATA沒沒 有這種限制,故有這種限制,故DATA偽指令可用在源

12、程序的開頭或末尾。偽指令可用在源程序的開頭或末尾。(2 2)用)用EQU給一個字符名稱賦值后,在整個源程序中該字符名給一個字符名稱賦值后,在整個源程序中該字符名 稱的值是固定的,稱的值是固定的,不能更改不能更改。若需更改,需用偽指令。若需更改,需用偽指令 DATA重新定義重新定義例:例:COUNT DATA 3000H ;定義;定義COUNT值為值為3000H COUNT DATA COUNT十十1;重定義;重定義COUNT值為值為3000Hl 華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統指令格式:指令格式: 標號標號 DB 表達式或表達式表表

13、達式或表達式表 如:標號如:標號 DB X1,X2, , Xn功能:功能:定義字節。把定義字節。把DB后的數據按后的數據按8位從當前地址存放位從當前地址存放說明:說明:(1 1)通常用于定義一個常數表。)通常用于定義一個常數表。(2 2)標號為可選項,標號后無冒號,表示數據存儲單元地址。)標號為可選項,標號后無冒號,表示數據存儲單元地址。(3 3) Xi為單字節數據,可為十進制或十六進制,可為表達式,為單字節數據,可為十進制或十六進制,可為表達式, 也可為單引號中的字符串,兩數據之間用逗號也可為單引號中的字符串,兩數據之間用逗號“,”分開。分開。DB ( (Define Byte) ) 定義字

14、節偽指令定義字節偽指令例:例: ORG 2000HTABLE DB 73H,04,100,32,00,-2,ABC 表示字節串數據存入由表示字節串數據存入由TABLE標號為起始地址的連續存儲標號為起始地址的連續存儲器單元中。即從器單元中。即從2000H存儲單元開始依次連續存放數據為:存儲單元開始依次連續存放數據為:73H,04H,64H,20H,00H,FEH,41H,42H,43H。華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統指令格式:指令格式: 標號標號 DW 表達式或表達式表表達式或表達式表 如:標號如:標號 DW Y1,Y2, , Yn

15、功能:功能:定義字。該命令把定義字。該命令把DW后的數據按后的數據按16位從當前地址按順序位從當前地址按順序 連續存放。連續存放。字的高字節存低地址,低字節存高地址字的高字節存低地址,低字節存高地址。說明:說明:(1 1)通常用于定義一個地址表。)通常用于定義一個地址表。(2 2)標號為可選項,標號后無冒號,表示數據存儲單元地址。)標號為可選項,標號后無冒號,表示數據存儲單元地址。(3 3) Yi為雙字節數據,可為十進制或十六進制,可為表達式,為雙字節數據,可為十進制或十六進制,可為表達式, 兩數據之間用逗號兩數據之間用逗號“,”分開。分開。(4 4)DB和和DW定義的數表,數的個數不得超過定

16、義的數表,數的個數不得超過80個。若數據的個。若數據的 數目較多時,可以使用多個定義命令。數目較多時,可以使用多個定義命令。DW ( (Define Word) ) 定義字偽指令定義字偽指令例:例:DW100H,3456H,814表示按順序存入表示按順序存入01H,00H,34H,56H,03H,2EH華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統指令格式:指令格式: 標號標號 DS 表達式表達式功能:功能:從指定地址開始保留從指定地址開始保留DS后后“表達式表達式”所規定的存貯單元。所規定的存貯單元。說明:說明:(1 1)標號為可選項,標號后無

17、冒號。)標號為可選項,標號后無冒號。(2 2)對于)對于51單片機,單片機,DB、DW、DS等偽指令只能應用于等偽指令只能應用于程序存程序存 儲器儲器,而不能對數據存儲器使用。,而不能對數據存儲器使用。 DS ( (Define Storage) ) 定義存儲空間偽指令定義存儲空間偽指令例:例:BASE DS 100H 通知匯編程序,從標號通知匯編程序,從標號BASE開始,保留開始,保留100H個存儲單元,個存儲單元,以備源程序另用。以備源程序另用。例:例:ORG 1000HDS07HDB20H,20DW12H從從1007H單元開始的單元開始的存儲單元的內容為:存儲單元的內容為:(1007H)

18、 = 20H(1008H) = 14H(1009H) = 00H(100AH) = 12H經匯編后,經匯編后,從地址從地址1000H開始開始保留了保留了7個個存貯單元。存貯單元。華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統指令格式:指令格式:字符名稱字符名稱 BIT 位地址位地址功能:功能:把把BIT之后的之后的“位地址位地址”值賦給值賦給 “ “字符名稱字符名稱”。說明:說明:(1 1)“字符名稱字符名稱”與標號不同(其后無冒與標號不同(其后無冒 號),且是必須的號),且是必須的(2 2)位地址可以是絕對地址,也可以是符位地址可以是絕對地址,

19、也可以是符 號地址號地址BIT 位定義偽指令位定義偽指令例:例: ABC BIT P1.1 把把P1.1位地址賦值給位地址賦值給ABC,在后面的,在后面的編程中,編程中,ABC即可作為位地址即可作為位地址P1.1使用。使用。即即 P1口第口第1位地址位地址91H就賦給了就賦給了ABC。華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統說明:說明:u表達式賦值表達式賦值可允許匯編語言程序的指令操作數域使用表達式,可允許匯編語言程序的指令操作數域使用表達式,例如:例如:“ADD A,#ALFA*BETA2”,其中,其中ALFA和和BETA是是兩個已定義的

20、標號。兩個已定義的標號。u條件匯編條件匯編可使用戶在匯編時根據需要對源程序進行匯編,可使用戶在匯編時根據需要對源程序進行匯編, 這這樣有利于程序的調試。特別是為用戶系統(或大的應用)程序的樣有利于程序的調試。特別是為用戶系統(或大的應用)程序的調試帶來方便。調試帶來方便。u宏匯編宏匯編允許用戶在編寫源程序時使用宏指令。一條宏指令往往允許用戶在編寫源程序時使用宏指令。一條宏指令往往包括若干條匯編語言指令,這樣在使用宏指令之后可使源程序縮包括若干條匯編語言指令,這樣在使用宏指令之后可使源程序縮短,簡化程序設計。在使用宏指令之前,要先對相應的寄存器賦短,簡化程序設計。在使用宏指令之前,要先對相應的寄

21、存器賦值,否則將會得出錯誤的結果。值,否則將會得出錯誤的結果。 華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統例例1:偽指令應用:偽指令應用ORG8100HBUFFERDS 10H DWA B DW 100H,1ACH,-814說明:說明: 從從8100H至至810FH為緩沖區空間為緩沖區空間 (8110H)=41H (A) (8111H)=42H (B) 8112H單元起存放單元起存放01H、00H、01H、ACH、 FCH、D2H 華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統 往往P1口傳送數

22、據的指令中,數據的來源不盡相同。口傳送數據的指令中,數據的來源不盡相同。 數據是指令的操作對象,叫做操作數。指令必須給數據是指令的操作對象,叫做操作數。指令必須給出操作數所在的地方,才能進行數據傳送。出操作數所在的地方,才能進行數據傳送。 尋找操作數地址的方法,稱為尋址方式。尋找操作數地址的方法,稱為尋址方式。尋找操作數到底尋找操作數到底有多少種方式呢有多少種方式呢? ?問題引入問題引入MOV P1,#55H MOV P1, 55H 請比較以上兩條指請比較以上兩條指令執行后令執行后P1口的口的狀況狀況? ?為什么為什么? ?華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片

23、機指令系統單片機指令系統直接尋址直接尋址寄存器尋址寄存器尋址寄存器間接尋址寄存器間接尋址變址尋址變址尋址相對尋址相對尋址3.2 MCS-51尋址方式尋址方式立即數尋址立即數尋址位尋址位尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統尋址方式尋址方式我的信在他我的信在他那那! !找信找信去去! !注注: :找信是尋找找信是尋找信的信的“地址地址”! !你能說出你能說出第二封信第二封信的的“地址地址”嗎?嗎?華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統直接尋址直接尋址寄存器尋址寄存器尋址寄存器間接尋

24、址寄存器間接尋址變址尋址變址尋址相對尋址相對尋址立即數尋址立即數尋址位尋址位尋址操作數操作數MOV P1, #55H華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統內部內部RAM或或SFR區區操作數操作數目的地目的地直接尋址直接尋址寄存器尋址寄存器尋址寄存器間接尋址寄存器間接尋址變址尋址變址尋址相對尋址相對尋址立即數尋址立即數尋址位尋址位尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統直接尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統目的地目的地寄

25、存器寄存器目的地目的地操作數操作數R0-R7ABDPTR直接尋址直接尋址寄存器尋址寄存器尋址寄存器間接尋址寄存器間接尋址變址尋址變址尋址相對尋址相對尋址立即數尋址立即數尋址位尋址位尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統寄存器尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統目的地目的地寄存器寄存器內部內部RAMR0R1DPTR寄存寄存器間器間接尋接尋址寄址寄存器存器信在信在2號箱子里號箱子里直接尋址直接尋址寄存器尋址寄存器尋址寄存器間接尋址寄存器間接尋址變址尋址變址尋址相對尋址相對尋址立

26、即數尋址立即數尋址位尋址位尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統寄存器間接尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統 數據在寄存器數據在寄存器R0 地址在寄存器地址在寄存器R0里里 數據在內存數據在內存20H 直接將直接將20H這個數送這個數送P1口口華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統 數據在寄存器數據在寄存器R0 地址在寄存器地址在寄存器R0里面里面 數據在內存數據在內存20H 直接將直接將20H這個數送這個數送P1口

27、口華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統 數據在寄存器數據在寄存器R0 地址在寄存器地址在寄存器R0里面里面 直接將直接將20H這個數送這個數送P1口口對對! ! 數據在內存數據在內存20H華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統MOV P1,R0MOV P1,R0MOV P1,20HMOV P1,#20HMOV P1,#20H華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統MOVC A, A+DPTR目的地目的地寄存器寄存器操作數操作數內

28、部內部RAMRAM3AH3AH65H65H3AH3AH基址基址寄存器寄存器12H變址變址寄存器寄存器34HROM46H46H65HADPTRPCMOVC A, A+PC46H46H直接尋址直接尋址寄存器尋址寄存器尋址寄存器間接尋址寄存器間接尋址變址尋址變址尋址相對尋址相對尋址立即數尋址立即數尋址位尋址位尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統變址尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統8054直接尋址直接尋址寄存器尋址寄存器尋址寄存器間接尋址寄存器間接尋址變址尋址變址尋址相對尋址

29、相對尋址立即數尋址立即數尋址位尋址位尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統相對尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統10 0 0 0 0 0 0 0直接尋址直接尋址寄存器尋址寄存器尋址寄存器間接尋址寄存器間接尋址變址尋址變址尋址相對尋址相對尋址立即數尋址立即數尋址位尋址位尋址華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統7F7F77776F6F67675F5F57574F4F474737372F2F27271F1F17170F0

30、F0707 7E7E76766E6E66665E5E56564E4E4646 36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D454535352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C4444 34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B4343 33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A4242 32322A2A22221A1A12

31、120A0A020279797171696961615959515149494141 313129292121191911110909010178787070686860605858505048484040 3030282820201818101008080000 例:例: 3D3D 3C3C 3B3B3F3F 3E3E3A3A 3939383827H27H華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統直接尋址直接尋址寄存器尋址寄存器尋址寄存器間接尋址寄存器間接尋址變址尋址變址尋址相對尋址相對尋址立即數尋址立即數尋址位尋址位尋址0 0 0 0 0

32、 0 0 01華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統位位尋址尋址位操作指令中的操作數是位地址。用位操作指令中的操作數是位地址。用“bit”示示1 1、位尋址區域、位尋址區域 2 2、位地址的表示方法、位地址的表示方法3 3、位尋址例子、位尋址例子 華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統片內片內RAM20H2FH,11個個SFR位尋址位尋址ROM256字節范圍內(字節范圍內(PC+rel)相對尋址相對尋址ROM變址尋址變址尋址片內片內RAM低低128字節,片外字節,片外RAM寄存器間接

33、尋址寄存器間接尋址R0R7、A、B、DPTR寄存器尋址寄存器尋址片內片內RAM直接尋址直接尋址ROM立即數尋址立即數尋址尋址空間尋址空間尋址方式尋址方式華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統指令描述約定指令描述約定符符 號號含含 義義RnRn表示當前選定寄存器組的工作寄存器表示當前選定寄存器組的工作寄存器R0R0R7R7RiRi表示作為間接尋址的地址指針表示作為間接尋址的地址指針R0R0R1R1#data#data表示表示8 8位立即數,即位立即數,即00H00HFFHFFH#data16#data16表示表示1616位立即數,即位立即數

34、,即0000H0000HFFFFHFFFFHaddr16addr16表示表示1616位地址,用于位地址,用于64K64K范圍內尋址范圍內尋址addr11addr11表示表示1111位地址,用于位地址,用于2K2K范圍內尋址范圍內尋址directdirect8 8位直接地址,可以是內部位直接地址,可以是內部RAMRAM區的某一單元或區的某一單元或某一專用功能寄存器的地址某一專用功能寄存器的地址RelRel帶符號的帶符號的8 8位偏移量(位偏移量(-128-128+127+127)BitBit位尋址區的直接尋址位位尋址區的直接尋址位(X X)某寄存器或某單元中的內容。某寄存器或某單元中的內容。將將

35、 后面的內容傳送到前面去后面的內容傳送到前面去((X)(X))由由X X間接尋址的單元中的內容間接尋址的單元中的內容華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統二、算術運算指令二、算術運算指令(24條)條)三、邏輯運算指令三、邏輯運算指令(24條)條)四、控制轉移指令四、控制轉移指令(17條)條)五、位操作指令五、位操作指令(17條)條)3.3 3.3 MCS-51指令系統指令系統一、數據傳送指令一、數據傳送指令(29條)條)華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統8 8位數據傳送指令位數據

36、傳送指令(15(15條條) )1616位數據傳送指令(位數據傳送指令(1 1條)條)12外部數據傳送指令外部數據傳送指令(4(4條條) ) 交換和查表類指令交換和查表類指令(9(9條條) )34華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統MOV MOV , , MOV A,#20H 華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統RidirectRn#dataA傳送指令在片內存儲器的操作功能傳送指令在片內存儲器的操作功能華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統

37、單片機指令系統MOV DPTR,#data16MOVX , A A寄存器寄存器寄存器間接尋址寄存器間接尋址R1,R0(外(外RAM 0B255B)寄存器間接尋址寄存器間接尋址DPTR(外(外RAM 0KB64KB)華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統 華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統例例1

38、1 近程查表近程查表設程序中的數據表格為設程序中的數據表格為(Y=2X+1)(Y=2X+1):10101010H H:01H,03H,05H,07H,09H,0BH,0DH,01H,03H,05H,07H,09H,0BH,0DH,若若X=4X=4,求,求Y Y。執行程序:。執行程序:10001000H H: MOV MOV A A, #04H#04H;自變量自變量X X1002H1002H: ADDADDA,A,#0BH#0BH;加一個偏移量加一個偏移量1004H1004H: MOVC AMOVC A, A+PC A+PC ;(;(0FH+1005H0FH+1005H)A A1005H1005

39、H: MOV R0MOV R0,A A ;(A A)R0R01006H1006H: 結果為:(結果為:(A)=09H,(,(R0)=09H,(,(PC)=1006HA=?R0=?PC=?華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統0FA程序存儲區程序存儲區ALU執行執行MOVC AMOVC A,A+PCA+PC過程:過程:1014H091004H 831014H 091005H F8 1013H 07當前當前PCPC指令代碼指令代碼華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統例例2 2 遠程查表

40、遠程查表設程序中的數據表格(設程序中的數據表格(y=2xy=2x)為)為:ORGORG7010H7010HTABTAB00H,02H,04H,06H,08H,0AH,0CH,0EH, 00H,02H,04H,06H,08H,0AH,0CH,0EH, 執行程序執行程序:10001000H H:MOV AMOV A,#4H#4H;x=4x=41002H1002H:MOV DPTRMOV DPTR,#TAB#TAB1005H1005H:MOVC AMOVC A,A+DPTRA+DPTR;(4+7010H)=8(4+7010H)=8A A1006H:1006H:結果為:(結果為:(A)=08H ,(P

41、C)=1006H,(DPTR)=原值原值A=?DPTR=?PC=?華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統04A程序存儲區程序存儲區1005H 937014H 081006H DPH 70DPL 10ALUDPTR=7010HDPTR=7010H,A=04HA=04H,執行,執行MOVC AA+DPTRMOVC AA+DPTR7014H08指令代碼指令代碼華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統思考題思考題1MOV A,#1000H;A1000H2MOVX A,1000H;A(1000H

42、)片外片外RAM3MOVC A,1000H;A(1000H)片外片外ROM4MOVX 60H,A;片外;片外RAM(60H)A5MOV R0,60H;片內;片內RAM:(61H)(60H MOV 61H,R06XCH R1,R2 ;R1R27MOVX DPTR,#2000H ;DPTR2000H8MOVX 60H,DPTR;片內片內RAM片外片外RAM下列下列指令指令是否錯誤,如錯請改正:是否錯誤,如錯請改正:華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統加法指令(加法指令(8 8條)條)減法指令減法指令(4(4條條) ) 12BCDBCD碼調整

43、指令碼調整指令(1(1條條) )加加1 1減減1 1指令(指令(9 9條)條)34乘法指令乘法指令(1(1條條除法指令除法指令(1(1條條) ) 56華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統 華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統例:例: 先做先做67H+A0H=107H67H+A0H=107H,而,而1 107H07H顯然超過了顯然超過了0FF0FFH H,因此最終保存在因此最終保存在A A中的是中的是07H07H,而,而1 1則到了則到了PSWPSW中的中的CYCY位了。換言之,位

44、了。換言之,CYCY就相當于是就相當于是100H100H。 然后再做然后再做10H + 30H + 10H + 30H + CYCY,結果是,結果是41H41H,所以,所以最終的結果是最終的結果是4107H4107H。1067H+30A0H1067H+30A0H0001 0000 0110 0111 0001 0000 0110 0111 0011 0000 1010 0000 0011 0000 1010 0000 0100 0000100 0001 1 0000 0111 0000 0111 1067H1067H30A0H30A0H4107H4107H華南農業大學工程學院華南農業大學工程學

45、院第三章第三章 MCS-51單片機指令系統單片機指令系統設:設:1067H1067H存在存在R1R0R1R0中,中,30A0H30A0H存在存在R3R2R3R2中中, ,計算計算R1R0+R3R2R1R0+R3R2,結果存在,結果存在R5R4R5R4中。中。MOV A,R0ADD A,R2;R0+R2A和和CYMOV R4,AMOV A,R1ADDC A,R3 ;R1+R3+CYA和和CYMOV R5,A華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統 說明:說明:u只有帶借位的減法指令只有帶借位的減法指令,如果需要做,如果需要做不不帶位的減法指令

46、帶位的減法指令 (在做第一次相減時),只要將(在做第一次相減時),只要將CYCY清零清零即可。即可。u對帶符號數,要注意對帶符號數,要注意OVOV標志。標志。OV=1OV=1,出錯出錯。華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統BCD碼碼: 0011 0100 十進制十進制二進制二進制BCDBCD碼碼0123456789 10 11 12 13 14 1500000001001000110100010101100111100010011010101111001101111011110000000100100011010001010110011

47、1100010010001 00000001 00010001 00100001 00110001 01000001 01011 81 6+3 4十進制十進制0001 10000001 0110+BCD碼碼0010 11100011 01000010 11100000 0110差差6 6華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統+例:例:85+5985+59MOV A, #85H ;A=85HADDA, #59H ;A=DEHDAA ;A=44H,產生進位,產生進位11000 01010101 10011101 11100000 011011

48、10 01000110 0000 10100 0100A30=11109A74=11109CY=1+91-36=?華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統助記符格式助記符格式機器碼機器碼(B)相應操作相應操作指令說明指令說明機器機器周期周期INC A00000100AA+1影響影響PSW的的P標志標志1INC Rn00001rrrRnRn+1n=07, rrr=0001111INC direct00000101 direct (direct)(direct)+11INC Ri0000011i(Ri)(Ri)+1i=0,1 1INC DPTR

49、 10100011DPTRDPTR+12DEC A00010100AA-1影響影響PSW的的P標志標志1DEC Rn00011rrrRnRn-1n=07, rrr=0001111DEC direct 00010101 direct (direct)(direct)+11DEC Ri0001011i(Ri)(Ri)-1i=0,11華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統說明:說明:加加1 1減減1 1指令不影響指令不影響CYCY、ACAC、OVOV標志位標志位比較:比較: INC A ADD A,#01H都將都將A的內容加的內容加1,但,但I

50、NC A 不影響不影響CY、AC、OV位,只影響位,只影響P位。而位。而ADD指令影響指令影響以上四位。以上四位。華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統 無符號數相乘,高無符號數相乘,高位存位存B,低位存,低位存A無符號數相除,商無符號數相除,商存存A,余數存,余數存BA、B中都是無符號整數中都是無符號整數如果積大于如果積大于255,OV1,否則否則OV0;進位標志總是清零進位標志總是清零 Cy0A、B中都是無符號整數中都是無符號整數如果除數如果除數B為為“0”,OV1,否則否則OV0;進位標志總是清零進位標志總是清零 Cy0華南農業大學

51、工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統邏輯與指令(邏輯與指令(6 6條)條)邏輯或指令(邏輯或指令(6 6條)條) 12邏輯異或指令(邏輯異或指令(6 6條)條) 累加器累加器A A清清0 0和取反指令(和取反指令(2 2條)條)34循環移位指令(循環移位指令(4 4條)條)5華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統 助記符格式助記符格式機器碼機器碼(B)相應操作相應操作指令說明指令說明機器機器周期周期ANL A,direct01010101 directAAdirect按位與,影響按位與,影響P

52、1ANL A,Rn 01011rrrAARnn=07 rrr=0001111ANL A,Ri0101011iAA(Ri)i=0,11ANL A,#data01010100 dataAA#data 1ANL direct,A01010010direct(direct)(direct)A不影響不影響PSW1ANL direct,#data01010011 direct data(direct)(direct)#data不影響不影響PSW2華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統 01000011 direct data助記符格式助記符格式機器碼

53、機器碼(B)相應操作相應操作指令說明指令說明機器機器周期周期ORL A,direct01000101 directAAdirect按位相或,影響按位相或,影響P1ORL A,Rn01001rrrAARnn=07, rrr=0001111ORL A,Ri0100011iAA(Ri)i=0,11ORL A,#data01000100dataAA#data 1ORL direct,A01000010 direct(direct)(direct)A不影響不影響PSW1ORL direct,#data(direct)(direct)#data不影響不影響PSW2華南農業大學工程學院華南農業大學工程學院第

54、三章第三章 MCS-51單片機指令系統單片機指令系統 助記符格式助記符格式機器碼機器碼(B)相應操作相應操作指令說明指令說明機器機器周期周期XRL A,direct0 11 0 0 1 0 1 directAA (direct)按位相異或,影按位相異或,影響響P1XRL A,Rn01101rrrAA Rnn=07, rrr=0001111XRL A,Ri0110011iAA (Ri)i=0,11XRL A,#data01100100 dataAA #data 1XRL direct,A0 11 0 0 0 1 0 direct(direct)(direct) A不影響不影響PSW1XRL di

55、rect,#data01100011 direct data(direct)(direct) #data不影響不影響PSW2華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統助記符格式助記符格式 機器碼機器碼(B)相應操作相應操作指令說明指令說明機器機器周期周期CLR A11100100A00HA中內容清中內容清0,影響影響P標志標志1CPL A11110100A中內容按位取反,中內容按位取反,影響影響P標志標志1AA華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統寄存器間接尋址寄存器間接尋址R1,R0直

56、接數據單元直接數據單元(ANL,ORL,XRL)R7R0寄存器寄存器立即數立即數A寄存器寄存器(ANL,ORL,XRL)華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統應用應用u ANL A, #00001111B ;屏蔽某些位屏蔽某些位 u ORL A, #00001111B ;置位某些位置位某些位u XRL A, #00001111B ;取反某些位取反某些位u CPL A / INC A ;求補碼求補碼華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統例例 :(:( A)=01B,表示隨機狀態,為表示

57、隨機狀態,為1或或0,執行下述一組指令執行后執行下述一組指令執行后A的值如何的值如何? XRL A,#0C0H0 1 ;將累加器;將累加器A的內容的內容D7、D6取反取反1 1 0 0 0 0 0 0 ORL A,#03H1 0 ;將累加器;將累加器A的內容的內容D1、D0置置1 0 0 0 0 0 0 1 1 ANL A,#0E7H1 0 1 1 ;將累加器;將累加器A的內容的內容D4、D3清清0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 解解 :執行上述指令后,(:執行上述指令后,(A)=100011B。思考題思考題1 1:如何將累加器如何將累加器A A中的數據高中的數據高4

58、 4位清位清0 0,低位不變?,低位不變?思考題思考題2 2:如何將寄存器如何將寄存器R2R2中的數據奇數位取反,偶數位不變?中的數據奇數位取反,偶數位不變?華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統A.0A.7A.0A.7A.0A.7A.0A.7CYCYu RL Au RR Au RLC Au RRC A華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統例:例:若若A=5CHA=5CH,CY=1CY=1,

59、執行,執行RLC ARLC A后,后,v 對對RLCRLC、RRCRRC指令,在指令,在CY=0CY=0時時 RLCRLC相當于相當于乘乘以以2 2 RRCRRC相當于相當于除除以以2 2結果:結果:A=B9HA=B9H,CY=0CY=0,P=1P=10101 11000101 11001 11011 10011011 10010 00101 11000101 11001 10101 11000101 11001 1華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統綜合舉例:綜合舉例:ANL AANL A,#0FH#0FH;屏蔽;屏蔽A A的高的高4

60、 4位,位,A=0000A=0000* * * * *SWAP ASWAP A;A0-3A0-3A4-7A4-7,A=A=* * * * *00000000ANL P1ANL P1,#0FH#0FHORL P1ORL P1,A A ;P1P1口高口高4 4位輸出位輸出* * * * *,低,低4 4位不變位不變 把累加器把累加器A A中的低中的低4 4位狀態,通過位狀態,通過P1P1口的高口的高4 4位輸位輸出,出, P1P1口的低口的低4 4位狀態不變。位狀態不變。華南農業大學工程學院華南農業大學工程學院第三章第三章 MCS-51單片機指令系統單片機指令系統無條件轉移指令無條件轉移指令(4(

溫馨提示

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

評論

0/150

提交評論