• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機(jī)指令表 —— 30 附錄 51單片機(jī)指令表大全

    51單片機(jī)指令表 —— 30 附錄 51單片機(jī)指令表大全

    作者: 時間:2012-02-16 來源:網(wǎng)絡(luò) 收藏

    51集列表大全

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

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

     

     

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

    (指令中的符號標(biāo)識)
    Rn
    工作寄存器R0-R7
    Ri
    工作寄存器R0 和R1
    @Ri
    間接尋址的8 位RAM 單元地址(00H-FFH)
    #data8
    8 位常數(shù)
    #data16
    16 位常數(shù)
    addr16
    16 位目標(biāo)地址,能轉(zhuǎn)移或調(diào)用到64KROM 的任何地方
    addr11
    11 位目標(biāo)地址,在下條指令的2K 范圍內(nèi)轉(zhuǎn)移或調(diào)用
    Rel
    8 位偏移量,用于SJMP 和所有條件轉(zhuǎn)移指令,范圍-128~+127
    Bit
    片內(nèi)RAM 中的可尋址位和SFR 的可尋址位
    Direct
    直接地址,范圍片內(nèi)RAM 單元(00H-7FH)和80H-FFH
    $
    指本條指令的起始位置


    關(guān)鍵詞: 單片機(jī) 指令

    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 石家庄市| 基隆市| 界首市| 富源县| 上犹县| 正镶白旗| 正阳县| 仪征市| 攀枝花市| 棋牌| 黄浦区| 全椒县| 旬阳县| 安西县| 谷城县| 秦皇岛市| 河北省| 五指山市| 宝应县| 桂平市| 宁城县| 嵩明县| 五大连池市| 连平县| 铜梁县| 建宁县| 北流市| 镇巴县| 堆龙德庆县| 福安市| 炎陵县| 石城县| 图们市| 多伦县| 广汉市| 于田县| 鞍山市| 台东县| 沅江市| 班玛县| 女性|