單片機指令系統課件

                                                                            上傳人:20****08 文檔編號:241274860 上傳時間:2024-06-14 格式:PPT 頁數:33 大?。?72.15KB
                                                                            收藏 版權申訴 舉報 下載
                                                                            單片機指令系統課件_第1頁
                                                                            第1頁 / 共33頁
                                                                            單片機指令系統課件_第2頁
                                                                            第2頁 / 共33頁
                                                                            單片機指令系統課件_第3頁
                                                                            第3頁 / 共33頁
                                                                            資源描述:

                                                                            《單片機指令系統課件》由會員分享,可在線閱讀,更多相關《單片機指令系統課件(33頁珍藏版)》請在裝配圖網上搜索。

                                                                            1、四、控制轉移指令四、控制轉移指令使使PC不再自動增加,強行改變不再自動增加,強行改變PC的內容,的內容,使程序轉移到指定的入口地址繼續執行,以使程序轉移到指定的入口地址繼續執行,以實現分枝循環、子程序調用、中斷等功能。實現分枝循環、子程序調用、中斷等功能。共共17條。條。分類:無條件轉移分類:無條件轉移 條件轉移條件轉移 中斷中斷6/14/20241福州大學物理與信息工程學院四、控制轉移指令使PC不再自動增加,強行改變PC的內容,使程1、無條件轉移指令、無條件轉移指令長轉移指令(長跳轉)長轉移指令(長跳轉)LJMP addr16 ;(PC)addr163字節字節轉移范圍大,轉移范圍大,0216

                                                                            2、,即,即64KROM6/14/20242福州大學物理與信息工程學院1、無條件轉移指令長轉移指令(長跳轉)8/9/20232福州短轉移指令(短跳轉、絕對跳轉)短轉移指令(短跳轉、絕對跳轉)AJMP addr11將當前將當前PC值的高值的高5位和位和add11相連相連 PC=PC1511a10a9a8a7a6a5a4a3a2a1a0即將即將add11寫入寫入PC的第的第010位,位,PC的的1115位不變。位不變。6/14/20243福州大學物理與信息工程學院短轉移指令(短跳轉、絕對跳轉)8/9/20233福州大學物理Addr11代表的范圍是代表的范圍是202112K64K的的ROM分為分為32頁

                                                                            3、,每頁頁,每頁2K,范圍分別是,范圍分別是 0000H07FFH、0800H0FFFH、1000H17FFH、F000HF7FFH、F800HFFFFHAJMP轉移范圍就是轉移范圍就是PC當前值所在的當前值所在的2K字節頁面內,字節頁面內,超出該尋址范圍就出錯。超出該尋址范圍就出錯。用于不太長的程序用于不太長的程序該指令為該指令為2字節字節6/14/20244福州大學物理與信息工程學院Addr11代表的范圍是202112K8/9/20234例:例:機器碼機器碼 匯編語言匯編語言 07FEH AJMP K11;0800H .0E00H K11:.0F80H K12:.0FFEH AJMP K12

                                                                            4、 1000H .(PC)=(PC)+2=0800H錯誤錯誤(PC)=(PC)+2=1000H K12不在不在1000H17FFH同一頁內同一頁內6/14/20245福州大學物理與信息工程學院例:(PC)=(PC)+2=0800H8/9/20235福州相對轉移指令相對轉移指令 SJMP rel;PC(PC)+2,PC(PC)+rel轉移范圍是當前轉移范圍是當前PC值值128127范圍內范圍內6/14/20246福州大學物理與信息工程學院相對轉移指令8/9/20236福州大學物理與信息工程學院注:注:編程時,可用標號代替轉移目的地址編程時,可用標號代替轉移目的地址 AJMP NEXTSJMP NE

                                                                            5、XTLJMP NEXT 原地踏步指令原地踏步指令 HERE:SJMP HERE 常寫成:常寫成:SJMP$6/14/20248福州大學物理與信息工程學院注:8/9/20238福州大學物理與信息工程學院散轉指令:散轉指令:JMP A+DPTR(PC)(A)()(DPTR)若若DPTR值固定,改變值固定,改變A的內容,即可形成多個的內容,即可形成多個分枝。分枝。6/14/20249福州大學物理與信息工程學院散轉指令:8/9/20239福州大學物理與信息工程學院例:例:(A)=0 轉到轉到 PRG0,(A)=1 轉到轉到 PRG1,.(A)=7 轉到轉到 PRG7 MOV DPTR,#TABEL R

                                                                            6、L A JMP A+DPTRTABEL:AJMP PRG0 AJMP PRG1 .AJMP PRG76/14/202410福州大學物理與信息工程學院例:8/9/202310福州大學物理與信息工程學院2、調用及返回指令、調用及返回指令功能:功能:本質上也是無條件轉移指令。本質上也是無條件轉移指令。使用:使用:子程序調用子程序調用-程序中反復多次執行的程序中反復多次執行的某一段程序。某一段程序。6/14/202411福州大學物理與信息工程學院2、調用及返回指令功能:本質上也是無條件轉移指令。8/9/2長調用指令長調用指令LCALL addr16斷點斷點PC值進棧保存,調用值進棧保存,調用addr1

                                                                            7、6地址的子地址的子程序。程序。(PC)(PC)+3,(SP)(SP)+1,(SP)(PC70)(SP)(SP)+1,(SP)(PC158)(PC)addr166/14/202412福州大學物理與信息工程學院長調用指令8/9/202312福州大學物理與信息工程學院例:例:(SP)=60H,標號STRT值為2100H,標號DIR值為8100H。STRT:LCALL DIR或STRT:LCALL 2100H結果:(SP)=62H;(61H)=03H;(62H)=21H;(PC)=8100H6/14/202413福州大學物理與信息工程學院例:8/9/202313福州大學物理與信息工程學院短調用指令短調

                                                                            8、用指令ACALL addr11(PC)(PC)+2,(SP)(SP)+1,(SP)(PC70)(SP)(SP)+1,(SP)(PC158)(PC)addr11目的地址與當前目的地址與當前PC值必須位于值必須位于2K范圍的同一范圍的同一頁面內頁面內6/14/202414福州大學物理與信息工程學院短調用指令8/9/202314福州大學物理與信息工程學院編程時,可用標號代替轉移目的地址,編程時,可用標號代替轉移目的地址,addr11,addr16 交給編譯程序計算交給編譯程序計算如:如:LCALL DIR;ACALL DIR6/14/202415福州大學物理與信息工程學院編程時,可用標號代替轉移目的

                                                                            9、地址,addr11,addr16子程序返回指令子程序返回指令RET從堆棧中自動取出斷點地址送給從堆棧中自動取出斷點地址送給PC,使,使程序在主程序斷點處繼續執行。程序在主程序斷點處繼續執行。(PC158)(SP);(SP)(SP)1(PC70)(SP);(SP)(SP)1子程序末尾必須是一條返回指令子程序末尾必須是一條返回指令6/14/202416福州大學物理與信息工程學院子程序返回指令8/9/202316福州大學物理與信息工程學院中斷返回指令中斷返回指令RETI用于中斷服務程序末尾用于中斷服務程序末尾除執行除執行RET指令的操作外,還清除中斷響應指令的操作外,還清除中斷響應時被置位的優先級狀

                                                                            10、態,開放較低級中斷和時被置位的優先級狀態,開放較低級中斷和恢復中斷邏輯等功能?;謴椭袛噙壿嫷裙δ?。6/14/202418福州大學物理與信息工程學院中斷返回指令8/9/202318福州大學物理與信息工程學院3、條件轉移指令、條件轉移指令條件轉移指令是指當滿足某種條件時程序才轉移,條件轉移指令是指當滿足某種條件時程序才轉移,而條件不滿足時程序繼續執行下一條指令。條件主而條件不滿足時程序繼續執行下一條指令。條件主要指要指PSW中的標志。中的標志。注:注:對對PSW的按位操作也將影響相應的標志位。的按位操作也將影響相應的標志位。任何一條改變累加器任何一條改變累加器A的內容的指令都將影響的內容的指令都將

                                                                            11、影響 P標志。標志。8051單片機隱含一個零標志位單片機隱含一個零標志位(Z),當,當 (A)=0時,時,Z置置“1”。6/14/202419福州大學物理與信息工程學院3、條件轉移指令條件轉移指令是指當滿足某種條件時程序才轉移,A判零轉移指令判零轉移指令 JZ rel;(A)=0時轉移,(PC)(PC)+2+rel否則程序順序執行(PC)(PC)+2 JNZ rel;(A)=1時轉移,(PC)(PC)+2+rel否則程序順序執行(PC)(PC)+26/14/202420福州大學物理與信息工程學院A判零轉移指令8/9/202320福州大學物理與信息工程學院例例1、將外、將外RAM的一個數據塊(首

                                                                            12、地址為的一個數據塊(首地址為DATA1)傳送到內部數據傳送到內部數據RAM(首地址為(首地址為DATA2),遇到),遇到傳送的數據為零時停止傳送,試編程。傳送的數據為零時停止傳送,試編程。解:解:MOV R0,#DATA2 MOV DPTR,#DATA1 MOVX A,DPTR JZ LOOP2 MOV R0,A INC R0 INC DPTR SJMP LOOP1LOOP2:SJMP LOOP2LOOP1:6/14/202421福州大學物理與信息工程學院例1、將外RAM的一個數據塊(首地址為DATA1)傳送到內部比較轉移指令:比較轉移指令:比較指令中兩個操作數的值是否相等,若值比較指令中兩個

                                                                            13、操作數的值是否相等,若值不等,則轉移;若相等則順序執行。不等,則轉移;若相等則順序執行。同時影響同時影響CY標志位,若第一操作數標志位,若第一操作數右操作數,則轉移右操作數,則轉移(PC)(PC)+3+rel,同時,同時(CY)=0若左操作數若左操作數右操作數,則轉移右操作數,則轉移(PC)(PC)+3+rel,同時,同時(CY)=1也用于數值比較,以也用于數值比較,以CY狀態判斷數值大小。狀態判斷數值大小。CJNE 操作數操作數1,操作數操作數2,轉移地址標號轉移地址標號6/14/202424福州大學物理與信息工程學院若左操作數右操作數,則程序順序執行(PC)(PC)+3,例如例如:CJNE

                                                                            14、 A,30H,NOTEQ;3分支轉移分支轉移 MOV A,R0 ;(A)(30H)AJMP WORK NOTEQ:JC LITTER ;(A)(30H),轉 MOV A,R1 ACALL SUBLITTER:XXXXWORK:6/14/202425福州大學物理與信息工程學院例如:CJNE A,30H,NOTEQ;3分支減減1非零轉移指令非零轉移指令DJNZ Rn,rel ;(Rn)(Rn)1,若(Rn)0則轉移,(PC)(PC)+2+rel;若(Rn)0則順序執行(PC)(PC)+2DJNZ direct,rel ;(direct)(direct)1,若(direct)0則轉移,(PC)(PC

                                                                            15、)+2+rel;若(direct)0則順序執行(PC)(PC)+26/14/202426福州大學物理與信息工程學院減1非零轉移指令8/9/202326福州大學物理與信息工程學主要用于控制程序循環,先把主要用于控制程序循環,先把Rn或或direct賦值循環次數,利用減賦值循環次數,利用減1條件轉條件轉移指令,以減移指令,以減1后是否為后是否為0作為轉移條件,作為轉移條件,即可實現按次數控制循環。即可實現按次數控制循環。6/14/202427福州大學物理與信息工程學院主要用于控制程序循環,先把Rn或direct賦值循環次數,利例:例:延時延時50ms程序程序 DELY:MOV R7,#200 MO

                                                                            16、V R6,#125 DEL2:DJNZ R6,DEL2;125*2=250us DJNZ R7,DEL1;0.25ms*20050ms RET 使用使用12MHz晶振時,一個機器周期為晶振時,一個機器周期為1us,執行執行DJNZ指令為指令為2us,加其他指令的時間,加其他指令的時間 (25012)*200150.301ms 使用例:使用例:ACALL DELY 或或 LCALL DELY DEL1:6/14/202428福州大學物理與信息工程學院例:延時50ms程序DEL1:8/9/202328福州大學物4、位控制轉移指令、位控制轉移指令JC rel ;(Cy)=1則轉移,(PC)(PC)+

                                                                            17、2+rel 否則,程序繼續執行,(PC)(PC)+2JNC rel ;(Cy)=0則轉移,(PC)(PC)+2+rel 否則,程序繼續執行,(PC)(PC)+2布爾累加器布爾累加器(進位位進位位)判位轉移。判位轉移。6/14/202429福州大學物理與信息工程學院4、位控制轉移指令JC rel ;(C例例:比較內部比較內部RAM的的30H和和40H單元中的二個無符單元中的二個無符號數的大小,將大數存入號數的大小,將大數存入20H單元,小數存入單元,小數存入21H單單元,若二數相等,則使內元,若二數相等,則使內RAM的第的第127位置位置1。解:解:MOV A,30H CJNE A,40H,LO

                                                                            18、OP1 SETB 7FH SJMP$LOOP1:JC LOOP2 MOV 20H,A MOV 21H,40H SJMP$LOOP2:MOV 20H,40H MOV 21H,A SJMP$6/14/202430福州大學物理與信息工程學院例:比較內部RAM的30H和40H單元中的二個無符號數的大小4、位控制轉移指令、位控制轉移指令JB bit,rel ;(bit)=1則轉移,(PC)(PC)+3+rel 否則,程序繼續執行,(PC)(PC)+3JNB bit,rel;(bit)=0則轉移,(PC)(PC)+3+rel 否則,程序繼續執行,(PC)(PC)+3JBC bit,rel;(bit)=1則

                                                                            19、轉移,(PC)(PC)+3+rel,且且(bit)=0 否則,程序繼續執行,(PC)(PC)+3普通數據位判位轉移普通數據位判位轉移6/14/202431福州大學物理與信息工程學院4、位控制轉移指令JB bit,rel ;(bi例例:試判斷試判斷A中的正負,若為正數,存入中的正負,若為正數,存入20H單元;單元;若為負數則存入若為負數則存入21H單元。單元。解:解:JB ACC.7,LOOP MOV 20H,A SJMP$LOOP:MOV 21H,A SJMP$6/14/202432福州大學物理與信息工程學院例:試判斷A中的正負,若為正數,存入20H單元;若為負5、空操作指令、空操作指令NOP1字節,單周期字節,單周期該指令僅使該指令僅使(PC)+1然后繼續執行下一條指然后繼續執行下一條指令,無任何操作。令,無任何操作。常用于延時或程序中作為時間常用于延時或程序中作為時間“微調微調”6/14/202433福州大學物理與信息工程學院5、空操作指令NOP8/9/202333福州大學物理與信息工

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

                                                                            copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

                                                                            備案號:ICP2024067431-1 川公網安備51140202000466號


                                                                            本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!

                                                                            日韩精品一区二区三区在线播放_亚洲中文字幕无码人在线_最新亚洲av日韩av二区_欧美深深色噜噜狠狠网站