【單片機知識】第3章 MCS-51單片機指令系統(tǒng)及編程舉例_第1頁
【單片機知識】第3章 MCS-51單片機指令系統(tǒng)及編程舉例_第2頁
【單片機知識】第3章 MCS-51單片機指令系統(tǒng)及編程舉例_第3頁
【單片機知識】第3章 MCS-51單片機指令系統(tǒng)及編程舉例_第4頁
【單片機知識】第3章 MCS-51單片機指令系統(tǒng)及編程舉例_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、整理課件微機原理及應(yīng)用微機原理及應(yīng)用整理課件 對于任何一臺計算機,必須有軟件(程對于任何一臺計算機,必須有軟件(程序)的支持,才能工作。但是市場上所售序)的支持,才能工作。但是市場上所售的單片機是裸機,在使用之前要現(xiàn)對它編的單片機是裸機,在使用之前要現(xiàn)對它編程,將程序固化在芯片內(nèi),才能使用。程,將程序固化在芯片內(nèi),才能使用。 指令系統(tǒng)是一種指令系統(tǒng)是一種CPU所能直接執(zhí)行的所所能直接執(zhí)行的所有命令的集合,有命令的集合,CPU的主要功能是由它的的主要功能是由它的指令系統(tǒng)來體現(xiàn)的。任何計算機語言編寫指令系統(tǒng)來體現(xiàn)的。任何計算機語言編寫的任何程序,都必須轉(zhuǎn)換為指令系統(tǒng)中相的任何程序,都必須轉(zhuǎn)換為指令

2、系統(tǒng)中相應(yīng)指令代碼的有序集合,應(yīng)指令代碼的有序集合,CPU才能執(zhí)行才能執(zhí)行 。 單片機的指令系統(tǒng)是單片機能夠識別單片機的指令系統(tǒng)是單片機能夠識別并執(zhí)行的所有指令的集合。并執(zhí)行的所有指令的集合。整理課件 每一種每一種CPU都有其獨立的指令系統(tǒng)。都有其獨立的指令系統(tǒng)。 MCS-51系列單片機指令系統(tǒng)共有系列單片機指令系統(tǒng)共有111條條指令,其中有指令,其中有49條條單字節(jié)單字節(jié)指令,指令,45條條雙字雙字節(jié)節(jié)指令和指令和17條條三三字節(jié)指令。字節(jié)指令。 MCS-51指令系統(tǒng)的功能十分強大,它指令系統(tǒng)的功能十分強大,它把體現(xiàn)單片機的各種功能的寄存器組織在把體現(xiàn)單片機的各種功能的寄存器組織在統(tǒng)一的地址

3、空間中,統(tǒng)一的地址空間中,MCS-51指令系統(tǒng)在其指令系統(tǒng)在其存儲空間、時間的利用率及工作效率方面存儲空間、時間的利用率及工作效率方面都是較高的。都是較高的。整理課件 1. 指令格式指令格式 MCS-51指令系統(tǒng)中的每一條指令都有指令系統(tǒng)中的每一條指令都有兩級指令格式:兩級指令格式: CPU可直接識別并執(zhí)行的機器語言指令可直接識別并執(zhí)行的機器語言指令(機器語言)。(機器語言)。 匯編語言指令(簡稱匯編指令)。匯編語言指令(簡稱匯編指令)。整理課件 MCS-51匯編語言指令格式,由以下幾個部匯編語言指令格式,由以下幾個部分組成:分組成: 標號:標號: 操作碼操作碼 目的操作數(shù)目的操作數(shù) ,源操作

4、源操作數(shù)數(shù) ;注釋;注釋 例:例:LOOP:MOV A,R1;AR1 MOV A,R1 INC A NOP整理課件 3.2 尋址方式尋址方式 所謂尋址方式就是尋找或獲得操作數(shù)的所謂尋址方式就是尋找或獲得操作數(shù)的方式。方式。 指令的一個重要組成部分是操作數(shù)。由指令的一個重要組成部分是操作數(shù)。由尋址方式指定參與運算的操作數(shù)或操作數(shù)尋址方式指定參與運算的操作數(shù)或操作數(shù)所在單元的地址。所在單元的地址。整理課件 MCS-51指令系統(tǒng)的尋址方式有以下指令系統(tǒng)的尋址方式有以下7種:種: 1. 立即尋址立即尋址 2. 直接尋址直接尋址 3. 寄存器尋址寄存器尋址 4. 寄存器間接尋址寄存器間接尋址 5. 變址

5、尋址變址尋址 6. 相對尋址相對尋址 7. 位尋址位尋址整理課件 立即尋址立即尋址:操作數(shù)直接出現(xiàn)在指令中,可以:操作數(shù)直接出現(xiàn)在指令中,可以是是8位,也可是位,也可是16位。該方式尋址中的位。該方式尋址中的操作數(shù)操作數(shù)稱為立即數(shù),稱為立即數(shù),用用“”表示表示。 例:例:MOV A,#30H ;A30H 執(zhí)行結(jié)果:執(zhí)行結(jié)果:A=30H 例:例:MOV DPTR,#1000H;DPTR1000H 執(zhí)行結(jié)果:執(zhí)行結(jié)果: DPTR1000H,注意注意:只有:只有MOV DPTR,#date16指令的立即指令的立即數(shù)為數(shù)為16位,位,DPTR分為分為DPH和和DPL,在上述,在上述例子中,例子中, D

6、PH=10H, DPL=00H整理課件 直接尋址直接尋址:操作數(shù)的地址直接出現(xiàn)在指令:操作數(shù)的地址直接出現(xiàn)在指令中。這類尋址方式的中。這類尋址方式的操作數(shù)操作數(shù)只能是存放在只能是存放在內(nèi)部內(nèi)部RAM和和SFR中。中。(1)SFR例:例:MOV A,P1執(zhí)行結(jié)果:將執(zhí)行結(jié)果:將P1口的口的內(nèi)容內(nèi)容送到送到A中。中。若若P1的內(nèi)容為的內(nèi)容為78H,執(zhí)行該指令后,執(zhí)行該指令后,A=78H整理課件 (2)內(nèi)部內(nèi)部RAM的低的低128字節(jié)字節(jié) 例:例:MOV A,76H 執(zhí)行結(jié)果:將執(zhí)行結(jié)果:將76H單元的內(nèi)容送到單元的內(nèi)容送到A中。中。 若若(76H)=3FH,執(zhí)行該指令后,執(zhí)行該指令后,A=3FH注

7、意:若要表示某個單元的內(nèi)容,將該單元用括號擴起注意:若要表示某個單元的內(nèi)容,將該單元用括號擴起來,如來,如(43H)、()、(76H)、()、(R0)等。)等。整理課件 寄存器尋址寄存器尋址:操作數(shù)為:操作數(shù)為寄存器的內(nèi)容寄存器的內(nèi)容。 此處的寄存器指的是工作寄存器此處的寄存器指的是工作寄存器R0R7、累加器、累加器A、通用寄存器、通用寄存器B、數(shù)據(jù)、數(shù)據(jù)指針寄存器指針寄存器DPTR和位累加器和位累加器C(即進位(即進位位位C)。)。例例 :MOV A,R0執(zhí)行結(jié)果:將執(zhí)行結(jié)果:將R0的內(nèi)容送入的內(nèi)容送入A中。中。若若R0的內(nèi)容(的內(nèi)容(R0)=5AH,則,則A=5AH整理課件 寄存器間接尋址

8、寄存器間接尋址:將指定:將指定寄存器寄存器中的中的內(nèi)容內(nèi)容作為地址作為地址,該,該地址對應(yīng)的內(nèi)容地址對應(yīng)的內(nèi)容才才是操作數(shù)是操作數(shù),用用表示。表示。 例:例:MOV A,R0 執(zhí)行結(jié)果:將執(zhí)行結(jié)果:將R0的內(nèi)容作為地址,再將該的內(nèi)容作為地址,再將該地址對應(yīng)的內(nèi)容送入地址對應(yīng)的內(nèi)容送入A中。中。 若(若(R0)=46H,(,(46H)=2FH,則:,則: A=(R0)=(46H)=2FH整理課件 例:例:MOV R1 , 76H 執(zhí)行結(jié)果:執(zhí)行結(jié)果: (R1) (76H) 。 若(若(76H)=0FH, (R1)=23H,則:,則: (23H)=0FH 整理課件 變址尋址變址尋址:以程序指針:以

9、程序指針PC或數(shù)據(jù)指針或數(shù)據(jù)指針DPTR為基址,以累加器為基址,以累加器A作為變址,兩者作為變址,兩者內(nèi)容相加(即內(nèi)容相加(即基址偏移量基址偏移量)形成)形成16位地位地址。址。整理課件例: 地址地址 目標代碼目標代碼 匯編指令匯編指令 2100 7406 MOV A,#06H 2102 83 MOVC A,A+PC 2103 00 NOP 2104 00 NOP 2109 32 DB 32H 執(zhí)行結(jié)果分析:當(dāng)執(zhí)行到執(zhí)行結(jié)果分析:當(dāng)執(zhí)行到MOVC A,A+PC時,時,PC=2103H(基址基址),A=06H(偏移量偏移量),因,因此此A+PC所示的地址所示的地址=2103H+06H=2109H

10、,(2109H)=32H,所以,所以A=32H整理課件例: MOV A,#01H MOV DPTR,#TABLE MOVC A,A+DPTRTABLE: DB 41H DB 42H 執(zhí)行結(jié)果分析:基址的首地址執(zhí)行結(jié)果分析:基址的首地址= TABLE偏移量偏移量= 01H, 程序執(zhí)行到程序執(zhí)行到MOVC A,A+DPTR時,時, A+DPTR所指的地址所指的地址= TABLE +01H,因此,該指令執(zhí)行后,因此,該指令執(zhí)行后A=42H整理課件 相對尋址相對尋址:以:以PC的當(dāng)前值為的當(dāng)前值為基址基址,與指令,與指令中的第二字節(jié)給出的中的第二字節(jié)給出的偏移量偏移量rel(8位位有符號有符號數(shù)數(shù))相

11、加,所得之和為程序的轉(zhuǎn)移地址。)相加,所得之和為程序的轉(zhuǎn)移地址。轉(zhuǎn)移轉(zhuǎn)移范圍范圍為為+127-128字節(jié)之間。字節(jié)之間。 例:例:SJMP 08H;雙字節(jié)指令;雙字節(jié)指令 分析:若分析:若PC=2000H為該條指令的地址,則為該條指令的地址,則轉(zhuǎn)移目標地址轉(zhuǎn)移目標地址=2000H+02H+08H=200AH整理課件 位尋址位尋址:對:對片內(nèi)片內(nèi)RAM的的20H2FH字節(jié)地址字節(jié)地址中中的的所有位所有位和和部分部分SFR的的位進行尋址位進行尋址。 區(qū)分指令中是位地址還是存儲器單元地址不太區(qū)分指令中是位地址還是存儲器單元地址不太容易,主要是由另一個操作數(shù)來區(qū)分。容易,主要是由另一個操作數(shù)來區(qū)分。

12、例:例:SETB EX0 ;EX01,位尋址,位尋址 MOV C,07H ;C(07H) ,位尋址,位尋址 MOV A,20H ;A(20H) ,直接尋址,直接尋址 MOV C,20H ;C(20H) ,位尋址,位尋址整理課件 3.3 指令系統(tǒng)指令系統(tǒng) 指令分類:指令分類:MCS-51指令系統(tǒng)共有指令系統(tǒng)共有111條指條指令,分成令,分成5大類:大類:(1)數(shù)據(jù)傳送類)數(shù)據(jù)傳送類(2)算術(shù)運算類)算術(shù)運算類(3)邏輯運算類)邏輯運算類(4)控制程序轉(zhuǎn)移類)控制程序轉(zhuǎn)移類(5)布爾變量操作(位操作類)布爾變量操作(位操作類)整理課件3.4 匯編語言程序設(shè)計基礎(chǔ)匯編語言程序設(shè)計基礎(chǔ) 用匯編用匯編語

13、言編語言編寫的源寫的源程序程序匯編程序匯編程序目標程序目標程序整理課件 匯編語言匯編語言是一種是一種采用助記符采用助記符表示的表示的機器語機器語言言,即用助記符號來代表指令的操作碼和,即用助記符號來代表指令的操作碼和操作數(shù),操作數(shù),用標號用標號或或符號代表地址符號代表地址、常數(shù)常數(shù)或或變量變量。而助記符一般都是英文單詞的縮寫,。而助記符一般都是英文單詞的縮寫,因此使用方便。這種用助記符編寫的程序因此使用方便。這種用助記符編寫的程序稱為稱為源程序源程序。整理課件 匯編語言匯編語言源程序源程序必須必須翻譯翻譯成機器語言的目成機器語言的目標代碼,亦稱標代碼,亦稱目標程序目標程序,計算機才能執(zhí)行。,計

14、算機才能執(zhí)行。其翻譯工作可由匯編程序自動完成,其翻譯工作可由匯編程序自動完成,匯編匯編程序的功能程序的功能就是就是將用助記符號編寫的源程將用助記符號編寫的源程序翻譯成用機器語言表示的目標程序序翻譯成用機器語言表示的目標程序。整理課件 匯編語言程序的組成:匯編語言程序的組成: 匯編語言源程序是由匯編語句組成的,匯編語言源程序是由匯編語句組成的,一般情況下,一般情況下,匯編語言語句匯編語言語句可分為:可分為:指令指令性語句性語句(即(即匯編指令匯編指令)和)和指示性語句指示性語句(即(即偽指令偽指令)。)。整理課件 指令性語句指令性語句(可(可簡稱指令簡稱指令)是是進行匯編語進行匯編語言程序設(shè)計的

15、言程序設(shè)計的可執(zhí)行語句可執(zhí)行語句,每條指令都產(chǎn)生,每條指令都產(chǎn)生相應(yīng)的機器語言的目標代碼。源程序的主要相應(yīng)的機器語言的目標代碼。源程序的主要功能是由指令性語句去完成的。功能是由指令性語句去完成的。 指示性語句指示性語句(偽指令偽指令)又稱)又稱匯編控制指匯編控制指令令。它是控制匯編(翻譯)過程的一些命令,。它是控制匯編(翻譯)過程的一些命令,程序員通過偽指令通知匯編程序在進行匯編程序員通過偽指令通知匯編程序在進行匯編時的一些指示。因此,偽指令不產(chǎn)生機器語時的一些指示。因此,偽指令不產(chǎn)生機器語言的目標代碼,言的目標代碼,是是進行匯編語言程序設(shè)計的進行匯編語言程序設(shè)計的不可執(zhí)行語句不可執(zhí)行語句。整

16、理課件偽指令:偽指令:1、 ORG (匯編起始地址匯編起始地址) 例:例: ORG 3000H START: MOV A, R1 2、 END (結(jié)束匯編結(jié)束匯編)3、 EQU (等值或賦值等值或賦值)格式:格式:標識符標識符 EQU 數(shù)或匯編符號數(shù)或匯編符號功能:把數(shù)或匯編符號賦給標識符,且只能賦值功能:把數(shù)或匯編符號賦給標識符,且只能賦值1次。次。 例:例: INT-1 EQU 001BH ORG INT-1 AJMP LP1 注意注意:EQU與前面的標與前面的標號之間不要使用冒號,號之間不要使用冒號,只用一個空格進行分隔。只用一個空格進行分隔。整理課件4、 DB (定義字節(jié)定義字節(jié)) 格

17、式:格式:標號:標號: DB X1,X2,X3,Xn功能:將功能:將項或項表項或項表中的中的8位字節(jié)數(shù)據(jù)位字節(jié)數(shù)據(jù)依次存入依次存入標號標號所所示的存儲單元中示的存儲單元中例:例:DELAY:DB 50H ;將;將50H存入存儲單存入存儲單 ;元;元DELAY中。中。例:例: ORG 2000H TAB:DB 12H,0AFH,00111001B,”9”結(jié)果結(jié)果:(2000H)=12H, (2001H)=0AFH, (2002H)=00111001B, (2003H)=9(字符字符) 。整理課件(自學(xué)自學(xué)5,6,7)5、 DW (定義字定義字) 格式:格式:標號:標號: DW X1,X2,X3,

18、Xn功能:將功能:將項或項表項或項表中的中的16位字數(shù)據(jù)位字數(shù)據(jù)依次存入依次存入標號標號所所示的存儲單元中。示的存儲單元中。6、 DS(定義存儲單元定義存儲單元)格式:標號:格式:標號: DS 數(shù)字數(shù)字功能:從標號所指示的單元開始,根據(jù)數(shù)字的值保功能:從標號所指示的單元開始,根據(jù)數(shù)字的值保留一定數(shù)量的字節(jié)存儲單元,留給以后存儲數(shù)據(jù)留一定數(shù)量的字節(jié)存儲單元,留給以后存儲數(shù)據(jù)用。用。例:例: SPACE:DS 10 表示從表示從SPACE開始保留開始保留10個存儲單元,下條個存儲單元,下條指令將從指令將從SPACE+10處開始匯編。處開始匯編。整理課件7、 BIT (地址符號命令地址符號命令)格式

19、:標識符格式:標識符 BIT 位地址位地址功能:將位地址賦予標識符。功能:將位地址賦予標識符。例:例: MOV C,A1整理課件匯編語言程序設(shè)計實例匯編語言程序設(shè)計實例 1、簡單程序(順序程序)、簡單程序(順序程序)例:例: 將片內(nèi)將片內(nèi)RAM的的30H和和31H的內(nèi)容相加,結(jié)的內(nèi)容相加,結(jié)果存入果存入32H。 ORG 2000H MOV A, 30H ; A(30H) ADD A, 31H ; AA+(31H) MOV 32H, A ;結(jié)果存入結(jié)果存入32H END整理課件例:例: 拼字:將外部數(shù)據(jù)存儲器拼字:將外部數(shù)據(jù)存儲器3000H和和3001H的低的低4位位取出拼成一個字,送到取出拼成

20、一個字,送到3002H中。中。 ORG 2000H MOV DPTR, #3000H ;DPTR外部存儲器地址外部存儲器地址3000H MOVX A, DPTR ;A(3000H) ANL A, #0FH ;屏蔽高屏蔽高4位位(即取低即取低4位位) SWAP A ;交換高低交換高低4位位 MOV R1, A ;暫存于暫存于R1中中 INC DPTR ;指向下一單元指向下一單元3001H MOVX A, DPTR ;A(3000H) ANL A, #0FH ;屏蔽高屏蔽高4位位(即取低即取低4位位) ORL A, R1 ;拼成一個字拼成一個字 INC DPTR ;指向下一單元指向下一單元3002

21、H MOVX DPTR, A ;送結(jié)果到送結(jié)果到3002H單元單元 SJMP $ END整理課件2、分支程序、分支程序 在解決實際問題時,常常需要根據(jù)不同的條件去執(zhí)行不同的處理結(jié)果,這樣,程序就產(chǎn)生了分支,這種結(jié)構(gòu)的程序,稱為分支程序。條件成立NY整理課件分支程序分支程序常用的指常用的指令令指令功能JZ relJNZ relJC relJNC relJB bit,relJNB bit,relJBC bit,relCJNE A,direct,relCJNE A,#data,relCJNE Rn,#data,relCJNE Rn,#data,rel的內(nèi)容為零轉(zhuǎn)移此位為轉(zhuǎn)移,并將此位清零的內(nèi)容非零轉(zhuǎn)

22、移轉(zhuǎn)移轉(zhuǎn)移此位為轉(zhuǎn)移此位非轉(zhuǎn)移兩數(shù)不相等轉(zhuǎn)移兩數(shù)不相等轉(zhuǎn)移兩數(shù)不相等轉(zhuǎn)移兩數(shù)不相等轉(zhuǎn)移整理課件例:把片外例:把片外RAM的首地址為的首地址為10H開始存放的數(shù)開始存放的數(shù)據(jù)塊,傳送給片內(nèi)據(jù)塊,傳送給片內(nèi)RAM首地址為首地址為20H開始的數(shù)開始的數(shù)據(jù)塊中去,如果數(shù)據(jù)為據(jù)塊中去,如果數(shù)據(jù)為“0”,就停止傳送。,就停止傳送。 ORG 2000H MOV R0, #10H MOV R1, #20HLOOP: MOVX A, R0HERE: JZ HERE MOV R1, A INC R0 INC R1 SJMP LOOP END整理課件例:求符號函數(shù),設(shè)例:求符號函數(shù),設(shè)X、Y分別為分別為30H、31

23、H。 1 X0 Y= 0 X=0 -1 X0結(jié)束結(jié)束Y=1Y=-1YNNLP0:LP1:分析:分析:X是有符號數(shù),判斷符號位是是有符號數(shù),判斷符號位是0還是還是1可利用可利用JB或或JNB指令。指令。 判斷判斷X是否等于是否等于0則直接可以使則直接可以使用累加器用累加器A的判的判0指令。指令。整理課件例例3-24:內(nèi)部RAM 30H開頭的20個連續(xù)單元中,存放有20個數(shù),統(tǒng)計等于8的單元個數(shù),結(jié)果放在R2中。分析:取一個數(shù)與8比較,相等R2加1,不相等跳過。并作20次重復(fù)即可。流程如右圖,程序如下: ORG 1000HSTART:MOV R0, #30HMOV R7, #20MOV R2, #

24、0LOOP:CJNE R0,#08H,NEXTINCR2NEXT:INCR0DJNZ R7,LOOP SJMP 整理課件3、循環(huán)程序、循環(huán)程序 在程序執(zhí)行過程中,當(dāng)需要多次反復(fù)執(zhí)行某段程序時,可采用循環(huán)結(jié)構(gòu)。循環(huán)開始循環(huán)開始循環(huán)結(jié)束循環(huán)結(jié)束循環(huán)控制循環(huán)控制設(shè)置循環(huán)初值設(shè)置循環(huán)初值循環(huán)體循環(huán)體循環(huán)修改循環(huán)修改完成完成未完未完完成完成循環(huán)開始循環(huán)開始循環(huán)結(jié)束循環(huán)結(jié)束循環(huán)控制循環(huán)控制設(shè)置循環(huán)初值設(shè)置循環(huán)初值循環(huán)體循環(huán)體循環(huán)修改循環(huán)修改未完未完整理課件循環(huán)程序的結(jié)構(gòu)循環(huán)程序包括以下四個部分:置循環(huán)初值循環(huán)體循環(huán)控制變量修改循環(huán)終止控制常用于循環(huán)控制的指令有:DJNZ、CJNE、JC、JNC等控制類指令

25、。整理課件例:有例:有20個數(shù)存放于內(nèi)部個數(shù)存放于內(nèi)部RAM從從41H開始的連續(xù)單開始的連續(xù)單元中,試求其和,并將結(jié)果存放于元中,試求其和,并將結(jié)果存放于40H單元(和數(shù)單元(和數(shù)是一個是一個8位二進制數(shù),不考慮進位問題)位二進制數(shù),不考慮進位問題) ORG 2000H MOV A, #00H ;累加器清累加器清0 MOV R7, #14H ;R7為循環(huán)計數(shù)器,為循環(huán)計數(shù)器,R7=20 MOV R0, #41H ;建立內(nèi)存數(shù)據(jù)指針建立內(nèi)存數(shù)據(jù)指針,首地址為首地址為41HLOOP: ADD A, R0 ;累加累加 INC R0 ;指向下一數(shù)據(jù)單元指向下一數(shù)據(jù)單元 DJNZ R7, LOOP ;R

26、7-10,表示累加未結(jié)束表示累加未結(jié)束,繼續(xù)累加繼續(xù)累加; ;否則否則,往下執(zhí)行。往下執(zhí)行。 MOV 40H, A ;結(jié)果存放于結(jié)果存放于40H單元單元 END 整理課件例:在內(nèi)部例:在內(nèi)部RAM的的42H開始的連續(xù)單元中存放一組開始的連續(xù)單元中存放一組8位無符號數(shù),該數(shù)組長度為位無符號數(shù),該數(shù)組長度為n(n3DH)存放于存放于41H中,中,找出該組數(shù)中最大的數(shù),并將其存入內(nèi)部找出該組數(shù)中最大的數(shù),并將其存入內(nèi)部RAM的的40H單元。單元。 ORG 2000H MOV R0, #42H ;第第1個數(shù)送個數(shù)送40H單元單元 MOV 40H, R0 DEC 41H ;設(shè)置計數(shù)器初值(循環(huán)次數(shù))設(shè)置

27、計數(shù)器初值(循環(huán)次數(shù))LOOP: INC R0 ;取下一個數(shù)取下一個數(shù)A MOV A, R0 CJNE A, 40H, COMP ;A-(40H)0,轉(zhuǎn)移轉(zhuǎn)移COMP: JC NEXT ;CY=1時表示不夠減時表示不夠減,轉(zhuǎn)移轉(zhuǎn)移 MOV 40H, A ;較大數(shù)存較大數(shù)存40HNEXT: DJNZ 41H, LOOP ;控制循環(huán)次數(shù)控制循環(huán)次數(shù) SJMP $ END整理課件例:設(shè)計延時例:設(shè)計延時0.1s的子程序,設(shè)晶振頻率為的子程序,設(shè)晶振頻率為12MHz.分析:晶振頻率為分析:晶振頻率為12MHz,所以,機器周期為,所以,機器周期為1us 執(zhí)行時間(機器周期)執(zhí)行時間(機器周期)DELAY: MOV R7, #C3H 1 LOOP1: MOV R6, #0FFH 1LOOP2: DJNZ R6, LOOP2 2 DJNZ R7, LOOP1 2 RET 2執(zhí)行時間:內(nèi)循環(huán)共執(zhí)行時間:內(nèi)循環(huán)共

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論