<pre id="5vxxx"><strike id="5vxxx"><ol id="5vxxx"></ol></strike></pre>
      
      
        <track id="5vxxx"></track>

        <track id="5vxxx"><strike id="5vxxx"></strike></track>

          <pre id="5vxxx"><ruby id="5vxxx"></ruby></pre>

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

                51單片機指令表

                作者:佚名   來源:本站原創   點擊數:  更新時間: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)

                相關文章

                好深好猛在公车上

                    <pre id="5vxxx"><strike id="5vxxx"><ol id="5vxxx"></ol></strike></pre>
                    
                    
                      <track id="5vxxx"></track>

                      <track id="5vxxx"><strike id="5vxxx"></strike></track>

                        <pre id="5vxxx"><ruby id="5vxxx"></ruby></pre>