單片機原理與應用技術(第2版)電子課件第3章_第1頁
單片機原理與應用技術(第2版)電子課件第3章_第2頁
單片機原理與應用技術(第2版)電子課件第3章_第3頁
單片機原理與應用技術(第2版)電子課件第3章_第4頁
單片機原理與應用技術(第2版)電子課件第3章_第5頁
已閱讀5頁,還剩46頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.1 3.1 概述概述3.2 3.2 尋址方式尋址方式3.3 3.3 數據傳送與交換指令數據傳送與交換指令3.4 3.4 算術運算指令算術運算指令3.5 3.5 邏輯運算指令邏輯運算指令3.6 3.6 控制轉移指令控制轉移指令3.7 3.7 位操作指令位操作指令3.8 3.8 偽指令偽指令小結小結第3章 MCS-51單片機的指令系統單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.2 3.2 尋址方式尋址方式尋址方式是指尋找操作數或指令的地址的方式。 MCS-

2、51的尋址方式有的尋址方式有七七種。即:立即尋址、直接尋種。即:立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、位對尋址、寄存器尋址、寄存器間接尋址、變址尋址、位對尋址和相對尋址。址和相對尋址。 若不特別聲明,我們后面提到的尋址方式均指源操作數若不特別聲明,我們后面提到的尋址方式均指源操作數的尋址方式。的尋址方式。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社一般格式為:一般格式為: 標號:操作碼標號:操作碼 目的操作數目的操作數 , 源操作數源操作數 ; 注釋注釋 在兩個操作數的指令中,通常在兩個操作數的指令中,通常目的操作數寫在左邊,源

3、操作數寫在目的操作數寫在左邊,源操作數寫在右邊。右邊。 3.1.1 MCS-513.1.1 MCS-51單片機指令格式單片機指令格式 標號是程序員根據編程需要給指令設定的符號地址,可有可無。標號是程序員根據編程需要給指令設定的符號地址,可有可無。標號由標號由1 18 8個字符組成,第一個字符必須是英文字母,不能是數字個字符組成,第一個字符必須是英文字母,不能是數字或其他符號,標號后必須用冒號。或其他符號,標號后必須用冒號。操作碼是指令的核心部分,用于指示機器執行何種操作操作碼是指令的核心部分,用于指示機器執行何種操作 操作數是表示指令操作的對象,操作數可以是一個具體的數據,操作數是表示指令操作

4、的對象,操作數可以是一個具體的數據,也可以是參加運算的數據所在的地址。也可以是參加運算的數據所在的地址。 注釋是對指令的解釋說明,用以提高程序的可讀性,注釋前必須注釋是對指令的解釋說明,用以提高程序的可讀性,注釋前必須加分號。加分號。 3.1 3.1 概述概述單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社 3.1.2 3.1.2 指令的字節指令的字節單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.1.3 MCS-513.1.3 MCS-51單片機的助記符語言單片機的助記符語言 指令的助記符用英文單詞或縮寫

5、字母來表征指令功能,以便于人們識別、指令的助記符用英文單詞或縮寫字母來表征指令功能,以便于人們識別、讀讀/ /寫、記憶和交流,常用于程序設計。寫、記憶和交流,常用于程序設計。 MCS-51MCS-51指令系統中,操作碼采用了指令系統中,操作碼采用了4242種助記符。種助記符。 單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.1.4 3.1.4 常用符號說明常用符號說明單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社 指令中直接給出操作數指令中直接給出操作數的尋址方式稱為立即尋址。立的尋址方式稱為立即尋址。立

6、即數可以為一個字節,也可以是兩個字節,并要用符號即數可以為一個字節,也可以是兩個字節,并要用符號“”來標識。由于立即數是一個常數,所以只能作為源來標識。由于立即數是一個常數,所以只能作為源操作數。操作數。 立即尋址所對應的尋址空間為:立即尋址所對應的尋址空間為:ROM 3.2.1 3.2.1 立即尋址立即尋址如:如: MOV AMOV A,#30H #30H ;A30HA30H MOV DPTR MOV DPTR,#1638H #1638H ;DPH16HDPH16H,DPL38HDPL38H單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.2.2

7、3.2.2 直接尋址直接尋址 指令操作碼之后的字節存放的是指令操作碼之后的字節存放的是操作數的地址操作數的地址,操,操作數本身存放在該地址指示的存儲單元中的尋址方式稱作數本身存放在該地址指示的存儲單元中的尋址方式稱為為直接尋址直接尋址。 直接尋址中的直接尋址中的SFRSFR經常采用符號形式表示。經常采用符號形式表示。尋址空間為:片內尋址空間為:片內RAMRAM低低128128字節、字節、SFRSFR。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.2.3 3.2.3 寄存器尋址寄存器尋址 操作數存放在寄存器中,指令中直接給出該操作數存放在寄存器中,

8、指令中直接給出該寄存器名稱寄存器名稱的尋址方式。可以獲得較高的傳送和運算速度。的尋址方式。可以獲得較高的傳送和運算速度。 寄存器可以是:寄存器可以是:R0R0R7R7、A A、B B、DPTRDPTR。例:例: MOV AMOV A,R1R1;AR1AR1單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社 寄存器中的內容為地址,從該地址去取操作數寄存器中的內容為地址,從該地址去取操作數的尋址方的尋址方式稱為寄存器間接尋址式稱為寄存器間接尋址 。 尋址的存儲空間為片內尋址的存儲空間為片內RAMRAM或片外或片外RAMRAM。片內片內RAMRAM的數據傳送采

9、用的數據傳送采用“MOV”MOV”類指令,間接尋址寄存器類指令,間接尋址寄存器采用寄存器采用寄存器R0R0或或R1R1(堆棧操作時采用(堆棧操作時采用SPSP)。)。 片外片外RAMRAM的數據傳送采用的數據傳送采用“MOVX”MOVX”類指令,這時間接尋類指令,這時間接尋址寄存器有兩種選擇:一是采用址寄存器有兩種選擇:一是采用R0R0和和R1R1作間址寄存器,這作間址寄存器,這時時R0R0或或R1R1提供低提供低8 8位地址(外部位地址(外部RAMRAM多于多于256256字節采用頁面字節采用頁面方式訪問時,可由方式訪問時,可由P2P2口未使用的口未使用的I/OI/O引腳提供高位地址);引腳

10、提供高位地址);二是采用二是采用DPTRDPTR作為間址寄存器。作為間址寄存器。 3.2.4 3.2.4 寄存器間接尋址寄存器間接尋址單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社例:例: MOV R0MOV R0,#30H #30H ;R030HR030H MOV A MOV A,R0 R0 ;A(R0) A(R0) 即即AA(30H30H)寄存器間接尋址對應的空間為:寄存器間接尋址對應的空間為:片內片內RAMRAM(采用(采用R0R0,R1R1或或SPSP)片外片外RAMRAM(采用(采用R0R0,R1R1或或DPTRDPTR) 單片機原理與應用

11、技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.2.5 3.2.5 變址尋址變址尋址 以一個基地址加上一個偏移量地址形成操作數地址以一個基地址加上一個偏移量地址形成操作數地址的尋址方式稱為變址尋址。在這種尋址方式中,以數據指的尋址方式稱為變址尋址。在這種尋址方式中,以數據指針針DPTRDPTR或程序計數器或程序計數器PCPC作為基址寄存器,累加器作為基址寄存器,累加器A A作為偏作為偏移量寄存器,基址寄存器的內容與偏移量寄存器的內容之移量寄存器,基址寄存器的內容與偏移量寄存器的內容之和作為操作數地址。和作為操作數地址。 變址尋址所對應的尋址空間為:變址尋址所對應的

12、尋址空間為:ROMROM例如:例如:MOVC AMOVC A,A+DPTR A+DPTR 單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社 對位地址中的內容進行操作對位地址中的內容進行操作的尋址方式稱為位尋址。采的尋址方式稱為位尋址。采用位尋址指令的操作數是用位尋址指令的操作數是8 8位二進制數中的某一位。指令位二進制數中的某一位。指令中給出的是位地址。位尋址方式實質屬于位的直接尋址。中給出的是位地址。位尋址方式實質屬于位的直接尋址。 尋址空間為:片內尋址空間為:片內RAMRAM的的20H20H2FH2FH單元中的單元中的128128可尋址位;可尋址位

13、;SFRSFR的可尋址位。的可尋址位。 習慣上,特殊功能寄存器的尋址位常用符號位地址表示。習慣上,特殊功能寄存器的尋址位常用符號位地址表示。 例如:例如:CLR ACC.7 CLR ACC.7 MOV C MOV C,7FH7FH3.2.6 3.2.6 位尋址位尋址單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社 相對尋址相對尋址是以程序計數器是以程序計數器PCPC的當前值的當前值(指讀出該(指讀出該2 2字字節或節或3 3字節的跳轉指令后,字節的跳轉指令后,PCPC指向的下條指令的地址)指向的下條指令的地址)為基為基準,加上指令中給出的相對偏移量準,

14、加上指令中給出的相對偏移量 rel rel 形成目標地址形成目標地址的尋的尋址方式址方式 。 rel rel 是一個帶符號的是一個帶符號的8 8位二進制數,取值范圍是位二進制數,取值范圍是128128127127,以補碼形式置于操作碼之后存放。,以補碼形式置于操作碼之后存放。如:如:JC rel JC rel ; relrel75H75H3.2.7 3.2.7 相對尋址相對尋址單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.3.1 3.3.1 內部數據傳送指令內部數據傳送指令3.3 3.3 數據傳送與交換指令數據傳送與交換指令 數據傳送是進行數據處

15、理的最基本的操作,這類指令一般不影響標志寄存器PSW的狀態。一、立即尋址型傳送指令(一、立即尋址型傳送指令(5 5條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.3.1 3.3.1 內部數據傳送指令內部數據傳送指令二、直接尋址型傳送指令(二、直接尋址型傳送指令(5 5條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社

16、3.3.1 3.3.1 內部數據傳送指令內部數據傳送指令三、寄存器尋址型傳送指令(三、寄存器尋址型傳送指令(3 3條)條)四、寄存器間接尋址型傳送指令(四、寄存器間接尋址型傳送指令(3 3條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.3.2 3.3.2 外部外部RAMRAM數據傳送指令(數據傳送指令(4 4條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.3.3 3.3.3 查表指令(查表指令(2

17、2條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.3.4 3.3.4 堆棧操作指令(堆棧操作指令(2 2條)條)堆棧是在內部堆棧是在內部RAMRAM中按中按“后進先出后進先出”的規則組織的一片存儲區。此的規則組織的一片存儲區。此區的一端固定,稱為棧底;另一端是活動的,稱為棧頂。棧頂的位置區的一端固定,稱為棧底;另一端是活動的,稱為棧頂。棧頂的位置(地址)由棧指針(地址)由棧指針SPSP指示(即指示(即SPSP的內容是棧頂的地址)的內容是棧頂的地址)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.

18、3.5 3.3.5 數據交換指令(數據交換指令(5 5條)條)例例1 1:若(:若(R0R0)=80H=80H,(,(A A)=20H=20H。執行指令。執行指令 XCH AXCH A,R0 R0 后,(后,(A A)=80H=80H,(,(R0R0)=20H=20H。 例例2 2:若(:若(R0R0)30H30H,(,(30H30H)67H67H,(,(A A)20H20H。執。執行指令行指令 XCHD AXCHD A,R0 R0 指令后,(指令后,(A A)27H27H,(,(30H30H)60H60H。 若(若(A A)30H30H,執行指令,執行指令SWAP ASWAP A后,(后,(

19、A A)03H03H。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.4.1 3.4.1 加減法指令加減法指令一、加法指令(一、加法指令(8 8條)條) 算術運算指令可以完成加、減、乘、除及加算術運算指令可以完成加、減、乘、除及加1和減和減1等運算。等運算。這類指令多數以這類指令多數以A為源操作數之一,同時又使為源操作數之一,同時又使A為目的操作數。為目的操作數。 3.4 3.4 算術運算指令算術運算指令單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社CYCY:和的:和的D7D7位有進位時,(位有進位時,(

20、CYCY)=1=1;否則,(;否則,(CYCY)=0=0。ACAC:和的:和的D3D3位有進位時,(位有進位時,(ACAC)=1=1;否則,(;否則,(ACAC)=0=0。OVOV:和的:和的D7D7、D6D6位只有一個有進位時,(位只有一個有進位時,(OVOV)=1=1;溢出表示運算的結果超;溢出表示運算的結果超出了數值所允許的范圍。出了數值所允許的范圍。如:兩個正數相加結果為負數或兩個負數相加結如:兩個正數相加結果為負數或兩個負數相加結果為正數時屬于錯誤結果,此時(果為正數時屬于錯誤結果,此時(OVOV)=1=1。P P:累加器:累加器ACCACC中中“1”1”的個數為奇數時,(的個數為奇

21、數時,(P P)=1=1;為偶數時,(;為偶數時,(P P)=0=0。 單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.4.1 3.4.1 加減法指令加減法指令二、減法指令(二、減法指令(4 4條)條)CYCY:差的位:差的位7 7需借位時,(需借位時,(CYCY)=1=1;否則,(;否則,(CYCY)=0=0。ACAC:差的位:差的位3 3需借位時,(需借位時,(ACAC)=1=1;否則,(;否則,(ACAC)=0=0。OVOV:若位:若位6 6有借位而位有借位而位7 7無借位或位無借位或位7 7有借位而位有借位而位6 6無借位時,無借位時,(O

22、VOV)=1=1。如要用此組指令完成不帶借位減法,只需先清如要用此組指令完成不帶借位減法,只需先清CyCy為為 0 0。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.4.1 3.4.1 加減法指令加減法指令三、加三、加1 1減減1 1指令(指令(9 9條)條)這些指令僅這些指令僅 INC AINC A和和DEC ADEC A影響影響P P標志。其余指令都不標志。其余指令都不影響標志位的狀態。影響標志位的狀態。 單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社 指令的功能是對累加器指令的功能是對累加器A A

23、中剛進行的兩個中剛進行的兩個BCDBCD碼的加法碼的加法的結果進行十進制調整。的結果進行十進制調整。 兩個壓縮的兩個壓縮的BCDBCD碼按二進制相加后,必須經過調整方碼按二進制相加后,必須經過調整方能得到正確的壓縮能得到正確的壓縮BCDBCD碼的和。碼的和。DA ADA A四、十進制加法調整指令(四、十進制加法調整指令(1 1條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.4.2 3.4.2 乘法和除法指令乘法和除法指令 MUL AB MUL AB ;累加器;累加器A A與與B B寄存器相乘寄存器相乘 該指令的功能是將累加器該指令的功能是將

24、累加器A A與寄存器與寄存器B B中的無符號中的無符號8 8位二位二進制數相乘進制數相乘 ,乘積的低,乘積的低8 8位留在累加器位留在累加器A A中,高中,高8 8位存放在位存放在寄存器寄存器B B中。中。當乘積大于當乘積大于FFHFFH時,溢出標志位(時,溢出標志位(OVOV)=1=1。而標志。而標志CyCy總總是被清是被清0 0。 DIV AB DIV AB ;累加器;累加器A A除以寄存器除以寄存器B B 該指令的功能是將累加器該指令的功能是將累加器A A中的無符號中的無符號8 8位二進制數位二進制數除以寄存器除以寄存器B B中的無符號中的無符號8 8位二進制數位二進制數 ,商的整數部分

25、商的整數部分存放在累加器存放在累加器A A中,余數部分存放在寄存器中,余數部分存放在寄存器B B中。中。當除數為當除數為0 0時,則結果的時,則結果的A A和和B B的內容不定,且溢出標的內容不定,且溢出標志位(志位(OVOV)=1=1。而標志。而標志CyCy總是被清總是被清0 0。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.5.1 3.5.1 邏輯運算指令邏輯運算指令一、邏輯與運算指令(一、邏輯與運算指令(6 6條)條) 邏輯運算指令邏輯運算指令可以完成與、或、異或、清可以完成與、或、異或、清0 0和取反操作,和取反操作,當以累加器當以累加器

26、A A為目的操作數時,對為目的操作數時,對P P標志有影響;標志有影響;例例1 1: 若(若(A A)=C3H=C3H,(,(R0R0)=AAH=AAH,執行指令,執行指令 ANL AANL A,R0 R0 之后,之后,(A A)=82H=82H。3.5 3.5 邏輯運算及移位指令邏輯運算及移位指令單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.5.1 3.5.1 邏輯運算指令邏輯運算指令二、邏輯或運算指令(二、邏輯或運算指令(6 6條)條)例例2 2:若(:若(A A)=C3H=C3H,(,(R0R0)=55H=55H,執行指令,執行指令ORL

27、AORL A,R0 R0 之后,(之后,(A A)=D7H=D7H。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.5.1 3.5.1 邏輯運算指令邏輯運算指令三、邏輯異或運算指令(三、邏輯異或運算指令(6 6條)條)例例3 3: 若(若(A A)=C3H=C3H,(,(R0R0)=AAH=AAH,執行指令,執行指令 XRL AXRL A,R0 R0 之后,(之后,(A A)=69H=69H。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.5.1 3.5.1 邏輯運算指令邏輯運算指令四、累加器四、累加器

28、A A清清0 0和取反指令(和取反指令(2 2條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.5.2 3.5.2 移位指令移位指令單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社3.6.1 3.6.1 無條件轉移指令(無條件轉移指令(4 4條)條)3.6 3.6 控制轉移指令控制轉移指令 通常情況下,程序的執行是順序進行的,但也可以根據需要改變程序的執行順序,這種情況稱作程序轉移。控制程序的轉移要利用轉移指令。轉移指令有無條件轉移、條件轉移及子程序調用與返回等。單片機原理與應用技術(第單片機原理與應

29、用技術(第2 2版)清華大學出版社版)清華大學出版社 LJMP addr16 LJMP addr16 ;PC addr16 PC addr16 第一字節為操作碼,該指令執行時,將指令的第二、第一字節為操作碼,該指令執行時,將指令的第二、三字節地址碼分別裝入指令計數器三字節地址碼分別裝入指令計數器PCPC的高的高8 8位和低位和低8 8位中,位中,程序無條件地轉移到指定的目標地址去執行。程序無條件地轉移到指定的目標地址去執行。 LJMP LJMP提供的是提供的是1616位地址,因此程序可以轉向位地址,因此程序可以轉向64KB64KB的的程序存儲器地址空間的任何單元。程序存儲器地址空間的任何單元。

30、一、長轉移指令一、長轉移指令3.6.1 3.6.1 無條件轉移指令(無條件轉移指令(4 4條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社 AJMP addr11 AJMP addr11 ;PC PC (PCPC)+ 2+ 2, PC10PC100 addr11 0 addr11 該指令執行時,先將該指令執行時,先將PCPC的內容加的內容加2 2(這是(這是PCPC指向的是指向的是AJMPAJMP的下一條指令),然后把指令中的下一條指令),然后把指令中1111位地址碼傳送到位地址碼傳送到PC10PC100 0,而,而PC15PC151111保持

31、原內容不變。保持原內容不變。二、絕對轉移指令二、絕對轉移指令3.6.1 3.6.1 無條件轉移指令(無條件轉移指令(4 4條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社 SJMP rel SJMP rel ;PC PC (PCPC)+ 2+ 2,PC PC (PCPC)+ rel + rel 第一字節為操作碼,第二字節為相對偏移量第一字節為操作碼,第二字節為相對偏移量 relrel,rel rel 是一個帶符號的偏移字節數(是一個帶符號的偏移字節數(2 2的補碼),取值范圍為的補碼),取值范圍為 127 127 128128(00H00H7F

32、H7FH對應表示對應表示0 0 127127,80H80HFFHFFH對應表示對應表示1281281 1)。負數表示反向轉移,正數表示正向)。負數表示反向轉移,正數表示正向轉移。轉移。 rel rel 可以是一個轉移目標地址的標號,由匯編程序在匯可以是一個轉移目標地址的標號,由匯編程序在匯編過程中自動計算偏移地址,并填入指令代碼中。編過程中自動計算偏移地址,并填入指令代碼中。三、短轉移指令三、短轉移指令3.6.1 3.6.1 無條件轉移指令(無條件轉移指令(4 4條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社JMP A+DPTR JMP A+

33、DPTR ;PC PC (PCPC)+ 1+ 1,PC PC (A A)+ +(DPTRDPTR) 該指令具有散轉功能,可以代替許多判別跳轉指令。其轉移地址由該指令具有散轉功能,可以代替許多判別跳轉指令。其轉移地址由數據指針數據指針DPTRDPTR的的1616位數和累加器位數和累加器A A的的8 8位數進行無符號數相加形成,并位數進行無符號數相加形成,并直接裝入直接裝入PCPC。例:例: 有一段程序如下:有一段程序如下: MOV DPTRMOV DPTR,#TABLE#TABLE JMP A+DPTR JMP A+DPTR TABLE TABLE:AJMP ROUT0AJMP ROUT0 AJ

34、MP ROUT1 AJMP ROUT1 AJMP ROUT2 AJMP ROUT2 AJMP ROUT3 AJMP ROUT3當(當(A A)=00H=00H時,程序將轉到時,程序將轉到 ROUT0ROUT0處執行;當(處執行;當(A A)=02H=02H時,程序時,程序將轉到將轉到 ROUT1ROUT1處執行;其余類推。處執行;其余類推。 四、變址尋址轉移指令四、變址尋址轉移指令3.6.1 3.6.1 無條件轉移指令(無條件轉移指令(4 4條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社一、累加器一、累加器A A判零轉移指令判零轉移指令3.6

35、.2 3.6.2 條件轉移指令(條件轉移指令(8 8條)條) 指令的功能是對累加器指令的功能是對累加器A A的內容為的內容為 0 0 和不為和不為 0 0 進行檢進行檢測并轉移。當不滿足各自的條件時,程序繼續往下執行。測并轉移。當不滿足各自的條件時,程序繼續往下執行。當各自的條件滿足時,程序轉向指定的目標地址。目標地當各自的條件滿足時,程序轉向指定的目標地址。目標地址的計算與址的計算與SJMPSJMP指令情況相同。指令執行時對標志位無影指令情況相同。指令執行時對標志位無影響。響。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社二、比較條件轉移指令二、比

36、較條件轉移指令3.6.2 3.6.2 條件轉移指令(條件轉移指令(8 8條)條) 這組指令的功能是對指定的目的字節和源字節進行比較,若它們的這組指令的功能是對指定的目的字節和源字節進行比較,若它們的值不相等則轉移,轉移的目標地址為當前的值不相等則轉移,轉移的目標地址為當前的PCPC值加值加3 3后,再加指令的第三后,再加指令的第三字節偏移量字節偏移量relrel;若目的字節的內容大于源字節的內容,則進位標志清;若目的字節的內容大于源字節的內容,則進位標志清0 0;若目的字節的內容小于源字節的內容,則進位標志置若目的字節的內容小于源字節的內容,則進位標志置1 1;若目的字節的內;若目的字節的內容

37、等于源字節的內容,程序將繼續往下執行。容等于源字節的內容,程序將繼續往下執行。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社三、減三、減1 1非零轉移指令非零轉移指令3.6.2 3.6.2 條件轉移指令(條件轉移指令(8 8條)條) 這組指令每執行一次,便將目的操作數的循環控制單這組指令每執行一次,便將目的操作數的循環控制單元的內容減元的內容減1 1,并判其是否為,并判其是否為 0 0。若不為。若不為0 0,則轉移到目標,則轉移到目標地址繼續循環;若為地址繼續循環;若為0 0,則結束循環,程序往下執行。,則結束循環,程序往下執行。單片機原理與應用技術

38、(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社一、調用指令一、調用指令3.6.3 3.6.3 子程序調用和返回指令(子程序調用和返回指令(4 4條)條)ACALLACALL指令執行時,被調用的子程序的首址必須設在包含當前指令(即調指令執行時,被調用的子程序的首址必須設在包含當前指令(即調用指令的下一條指令)的第一個字節在內的用指令的下一條指令)的第一個字節在內的2K2K字節范圍內的程序存儲器中。字節范圍內的程序存儲器中。LCALLLCALL指令執行時,被調用的子程序的首址可以設在指令執行時,被調用的子程序的首址可以設在64K64K字節范圍內的程字節范圍內的程序存儲器空間

39、的任何位置。序存儲器空間的任何位置。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社二、返回指令二、返回指令3.6.3 3.6.3 子程序調用和返回指令(子程序調用和返回指令(4 4條)條)RET指令的功能是從堆棧中彈出由調用指令壓入堆棧保護的斷點地址,指令的功能是從堆棧中彈出由調用指令壓入堆棧保護的斷點地址,并送入指令計數器并送入指令計數器PC,從而結束子程序的執行。程序返回到斷點處繼,從而結束子程序的執行。程序返回到斷點處繼續執行。續執行。RETI指令是專用于中斷服務程序返回的指令,除正確返回中斷斷點處指令是專用于中斷服務程序返回的指令,除正確返回

40、中斷斷點處執行主程序以外,并有清除內部相應的中斷狀態寄存器(以保證正確執行主程序以外,并有清除內部相應的中斷狀態寄存器(以保證正確的中斷邏輯)的功能。的中斷邏輯)的功能。單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社 NOP NOP ;PC PC (PCPC)+ 1 + 1 這條指令不產生任何控制操作,只是將程序計數器這條指令不產生任何控制操作,只是將程序計數器PCPC的內容加的內容加1 1。該指令在執行時間上要消耗。該指令在執行時間上要消耗1 1個機器周期,個機器周期,在存儲空間上可以占用一個字節。因此,常用來實現較在存儲空間上可以占用一個字節。因此,常用來實現較短時間的延時。短時間的延時。三、空操作指令三、空操作指令3.6.3 3.6.3 子程序調用和返回指令(子程序調用和返回指令(4 4條)條)單片機原理與應用技術(第單片機原理與應用技術(第2 2版)清華大學出版社版)清華大學出版社一、位傳送指令(一、位傳送指令(2 2條)條)3.7 3.7 位操作指令位操作指令在位操作指令中,位

溫馨提示

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

評論

0/150

提交評論