(玩電子) 電子技術學習與研究
                      當前位置:單片機教程網 >> 基礎教程 >> 瀏覽文章

                      51單片機指令表

                      作者:佚名   來源:本站原創   點擊數:x  更新時間:2011年10月02日   【字體:

                      此表主要是為了方便大家查閱每條指令的作用,寫法以及字節數和周期數,建議大家保存為書簽。

                      助記符
                      指令說明
                      字節數
                      周期數
                      (數據傳遞類指令)
                      MOV
                      A,Rn
                      寄存器傳送到累加器
                      1
                      1
                      MOV
                      A,direct
                      直接地址傳送到累加器
                      2
                      1
                      MOV
                      A,@Ri
                      累加器傳送到外部RAM(8 地址)
                      1
                      1
                      MOV
                      A,#data
                      立即數傳送到累加器
                      2
                      1
                      MOV
                      Rn,A
                      累加器傳送到寄存器
                      1
                      1
                      MOV
                      Rn,direct
                      直接地址傳送到寄存器
                      2
                      2
                      MOV
                      Rn,#data
                      累加器傳送到直接地址
                      2
                      1
                      MOV
                      direct,Rn
                      寄存器傳送到直接地址
                      2
                      1
                      MOV
                      direct,direct
                      直接地址傳送到直接地址
                      3
                      2
                      MOV
                      direct,A
                      累加器傳送到直接地址
                      2
                      1
                      MOV
                      direct,@Ri
                      間接RAM 傳送到直接地址
                      2
                      2
                      MOV
                      direct,#data
                      立即數傳送到直接地址
                      3
                      2
                      MOV
                      @Ri,A
                      直接地址傳送到直接地址
                      1
                      2
                      MOV
                      @Ri,direct
                      直接地址傳送到間接RAM
                      2
                      1
                      MOV
                      @Ri,#data
                      立即數傳送到間接RAM
                      2
                      2
                      MOV
                      DPTR,#data16
                      16 位常數加載到數據指針
                      3
                      1
                      MOVC
                      A,@A+DPTR
                      代碼字節傳送到累加器
                      1
                      2
                      MOVC
                      A,@A+PC
                      代碼字節傳送到累加器
                      1
                      2
                      MOVX
                      A,@Ri
                      外部RAM(8 地址)傳送到累加器
                      1
                      2
                      MOVX
                      A,@DPTR
                      外部RAM(16 地址)傳送到累加器
                      1
                      2
                      MOVX
                      @Ri,A
                      累加器傳送到外部RAM(8 地址)
                      1
                      2
                      MOVX
                      @DPTR,A
                      累加器傳送到外部RAM(16 地址)
                      1
                      2
                      PUSH
                      direct
                      直接地址壓入堆棧
                      2
                      2
                      POP
                      direct
                      直接地址彈出堆棧
                      2
                      2
                      XCH
                      A,Rn
                      寄存器和累加器交換
                      1
                      1
                      XCH
                      A, direct
                      直接地址和累加器交換
                      2
                      1
                      XCH
                      A, @Ri
                      間接RAM 和累加器交換
                      1
                      1
                      XCHD
                      A, @Ri
                      間接RAM 和累加器交換低4 位字節
                      1
                      1
                      (算術運算類指令)
                      INC
                      A
                      累加器加1
                      1
                      1
                      INC
                      Rn
                      寄存器加1
                      1
                      1
                      INC
                      direct
                      直接地址加1
                      2
                      1
                      INC
                      @Ri
                      間接RAM 加1
                      1
                      1
                      INC
                      DPTR
                      數據指針加1
                      1
                      2
                      DEC
                      A
                      累加器減1
                      1
                      1
                      DEC
                      Rn
                      寄存器減1
                      1
                      1
                      DEC
                      direct
                      直接地址減1
                      2
                      2
                      DEC
                      @Ri
                      間接RAM 減1
                      1
                      1
                      MUL
                      AB
                      累加器和B 寄存器相乘
                      1
                      4
                      DIV
                      AB
                      累加器除以B 寄存器
                      1
                      4
                      DA
                      A
                      累加器十進制調整
                      1
                      1
                      ADD
                      A,Rn
                      寄存器與累加器求和
                      1
                      1
                      ADD
                      A,direct
                      直接地址與累加器求和
                      2
                      1
                      ADD
                      A,@Ri
                      間接RAM 與累加器求和
                      1
                      1
                      ADD
                      A,#data
                      立即數與累加器求和
                      2
                      1
                      ADDC
                      A,Rn
                      寄存器與累加器求和(帶進位)
                      1
                      1
                      ADDC
                      A,direct
                      直接地址與累加器求和(帶進位)
                      2
                      1
                      ADDC
                      A,@Ri
                      間接RAM 與累加器求和(帶進位)
                      1
                      1
                      ADDC
                      A,#data
                      立即數與累加器求和(帶進位)
                      2
                      1
                      SUBB
                      A,Rn
                      累加器減去寄存器(帶借位)
                      1
                      1
                      SUBB
                      A,direct
                      累加器減去直接地址(帶借位)
                      2
                      1
                      SUBB
                      A,@Ri
                      累加器減去間接RAM(帶借位)
                      1
                      1
                      SUBB
                      A,#data
                      累加器減去立即數(帶借位)
                      2
                      1
                      (邏輯運算類指令)
                      ANL
                      A,Rn
                      寄存器“與”到累加器
                      1
                      1
                      ANL
                      A,direct
                      直接地址“與”到累加器
                      2
                      1
                      ANL
                      A,@Ri
                      間接RAM“與”到累加器
                      1
                      1
                      ANL
                      A,#data
                      立即數“與”到累加器
                      2
                      1
                      ANL
                      direct,A
                      累加器“與”到直接地址
                      2
                      1
                      ANL
                      direct, #data
                      立即數“與”到直接地址
                      3
                      2
                      ORL
                      A,Rn
                      寄存器“或”到累加器
                      1
                      2
                      ORL
                      A,direct
                      直接地址“或”到累加器
                      2
                      1
                      ORL
                      A,@Ri
                      間接RAM“或”到累加器
                      1
                      1
                      ORL
                      A,#data
                      立即數“或”到累加器
                      2
                      1
                      ORL
                      direct,A
                      累加器“或”到直接地址
                      2
                      1
                      ORL
                      direct, #data
                      立即數“或”到直接地址
                      3
                      1
                      XRL
                      A,Rn
                      寄存器“異或”到累加器
                      1
                      2
                      XRL
                      A,direct
                      直接地址“異或”到累加器
                      2
                      1
                      XRL
                      A,@Ri
                      間接RAM“異或”到累加器
                      1
                      1
                      XRL
                      A,#data
                      立即數“異或”到累加器
                      2
                      1
                      XRL
                      direct,A
                      累加器“異或”到直接地址
                      2
                      1
                      XRL
                      direct, #data
                      立即數“異或”到直接地址
                      3
                      1
                      CLR
                      A
                      累加器清零
                      1
                      2
                      CPL
                      A
                      累加器求反
                      1
                      1
                      RL
                      A
                      累加器循環左移
                      1
                      1
                      RLC
                      A
                      帶進位累加器循環左移
                      1
                      1
                      RR
                      A
                      累加器循環右移
                      1
                      1
                      RRC
                      A
                      帶進位累加器循環右移
                      1
                      1
                      SWAP
                      A
                      累加器高、低4 位交換
                      1
                      1
                      (控制轉移類指令)
                       
                      JMP
                      @A+DPTR
                      相對DPTR 的無條件間接轉移
                      1
                      2
                      JZ
                      rel
                      累加器為0 則轉移
                      2
                      2
                      JNZ
                      rel
                      累加器為1 則轉移
                      2
                      2
                      CJNE
                      A,direct,rel
                      比較直接地址和累加器,不相等轉移
                      3
                      2
                      CJNE
                      A,#data,rel
                      比較立即數和累加器,不相等轉移
                      3
                      2
                      CJNE
                      Rn,#data,rel
                      比較寄存器和立即數,不相等轉移
                      2
                      2
                      CJNE
                      @Ri,#data,rel
                      比較立即數和間接RAM,不相等轉移
                      3
                      2
                      DJNZ
                      Rn,rel
                      寄存器減1,不為0 則轉移
                      3
                      2
                      DJNZ
                      direct,rel
                      直接地址減1,不為0 則轉移
                      3
                      2
                      NOP
                       
                      空操作,用于短暫延時
                      1
                      1
                      ACALL
                      add11
                      絕對調用子程序
                      2
                      2
                      LCALL
                      add16
                      長調用子程序
                      3
                      2
                      RET
                       
                      從子程序返回
                      1
                      2
                      RETI
                       
                      從中斷服務子程序返回
                      1
                      2
                      AJMP
                      add11
                      無條件絕對轉移
                      2
                      2
                      LJMP
                      add16
                      無條件長轉移
                      3
                      2
                      SJMP
                      rel
                      無條件相對轉移
                      2
                      2
                      (布爾指令)
                       
                      CLR
                      C
                      清進位位
                      1
                      1
                      CLR
                      bit
                      清直接尋址位
                      2
                      1
                      SETB
                      C
                      置位進位位
                      1
                      1
                      SETB
                      bit
                      置位直接尋址位
                      2
                      1
                      CPL
                      C
                      取反進位位
                      1
                      1
                      CPL
                      bit
                      取反直接尋址位
                      2
                      1
                      ANL
                      C,bit
                      直接尋址位“與”到進位位
                      2
                      2
                      ANL
                      C,/bit
                      直接尋址位的反碼“與”到進位位
                      2
                      2
                      ORL
                      C,bit
                      直接尋址位“或”到進位位
                      2
                      2
                      ORL
                      C,/bit
                      直接尋址位的反碼“或”到進位位
                      2
                      2
                      MOV
                      C,bit
                      直接尋址位傳送到進位位
                      2
                      1
                      MOV
                      bit, C
                      進位位位傳送到直接尋址
                      2
                      2
                      JC
                      rel
                      如果進位位為1 則轉移
                      2
                      2
                      JNC
                      rel
                      如果進位位為0 則轉移
                      2
                      2
                      JB
                      bit,rel
                      如果直接尋址位為1 則轉移
                      3
                      2
                      JNB
                      bit,rel
                      如果直接尋址位為0 則轉移
                      3
                      2
                      JBC
                      bit,rel
                      直接尋址位為1 則轉移并清除該位
                      2
                      2

                       

                       

                       

                      (偽指令)
                      ORG
                      指明程序的開始位置
                       
                      DB
                      定義數據表
                       
                      DW
                      定義16 位的地址表
                       
                      EQU
                      給一個表達式或一個字符串起名
                       
                      DATA
                      給一個8 位的內部RAM 起名
                       
                      XDATA
                      給一個8 位的外部RAM 起名
                       
                      BIT
                      給一個可位尋址的位單元起名
                       
                      END
                      指出源程序到此為止
                       

                       

                      (指令中的符號標識)
                      Rn
                      工作寄存器R0-R7
                      Ri
                      工作寄存器R0 和R1
                      @Ri
                      間接尋址的8 位RAM 單元地址(00H-FFH)
                      #data8
                      8 位常數
                      #data16
                      16 位常數
                      addr16
                      16 位目標地址,能轉移或調用到64KROM 的任何地方
                      addr11
                      11 位目標地址,在下條指令的2K 范圍內轉移或調用
                      Rel
                      8 位偏移量,用于SJMP 和所有條件轉移指令,范圍-128~+127
                      Bit
                      片內RAM 中的可尋址位和SFR 的可尋址位
                      Direct
                      直接地址,范圍片內RAM 單元(00H-7FH)和80H-FFH
                      $
                      指本條指令的起始位置
                      發表評論】【告訴好友】【收藏此文】【關閉窗口
                      上一篇:Keil教程(1)

                      文章評論

                      相關文章

                      富二代国产视频