⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msc-51.txt

📁 MCS-51单片机的指令集.txt MCS-51单片机的指令集.txt
💻 TXT
字号:
创新实践论坛 - 单片机 - MCS-51单片机的指令集(页 1) - powered by Discuz! Archiver
            创新实践论坛 » 单片机 » MCS-51单片机的指令集

            页: [1] 


                  光电之光2006-5-29 06:48 AM

            MCS-51单片机的指令集

            MCS-51单片机的指令集
            1、数据传送类指令
            助记符                                                 功能说明             
                  字节数        振荡周期  
            MOV    A,Rn                        寄存器内容送入累加器                        
                 1         12
            MOV    A,direct        直接地址单元中的数据送入累加器        2        12
            MOV    A,@Ri        间接RAM中的数据送入累加器        1        12
            MOV    A,#data8        8位立即数送入累加器        2        12
            MOV    Rn,A        累加器内容送入寄存器        1        12
            MOV    Rn,direct        直接地址单元中的数据送入寄存器        2        24
            MOV    Rn,#data8        8位立即数送入寄存器        2        12
            MOV    direct,A        累加器内容送入直接地址单元        2        12
            MOV    direct,Rn        寄存器内容送入直接地址单元        2        24
            MOV    direct,direct        直接地址单元中的数据送入直接地址单元3        24
            MOV    direct,@Ri        间接RAM中的数据送入直接地址单元        2        24
            MOV    direct,#data8        8位立即数送入直接地址单元        3        24
            MOV    @Ri,A        累加器内容送入间接RAM单元        1        12
            MOV    @Ri,direct        直接地址单元中的数据送入间接RAM单元2        24
            MOV    @Ri,#data8        8位立即数送入间接RAM单元        2        12
            MOV    DPTR,#data16        16位立即数地址送入地址寄存器        3        24
            MOV    A,@A+DPTR        以DPTR为基地址变址寻址单元中的数据送入累加器        1        24
            MOV    A,@A+PC        以PC为基地址变址寻址单元中的数据送入累加器        1        24
            MOV    A,@Ri        外部RAM(8位地址)送入累加器        1        24
            MOV    A,@DPTR        外部RAM(16位地址)送入累加器        1        24
            MOV    @Ri,A        累加器送入外部RAM(8位地址)        1        24
            MOV    @DPTR,A        累加器送入外部RAM(16位地址)        1        24
            PUSH   direct        直接地址单元中的数据压入堆栈        2        24
            POP    DIRECT        堆栈中的数据弹出到直接地址单元        2        24
            XCH    A,Rn        寄存器与累加器交换        1        12
            XCH    A,direct        直接地址单元与累加器交换        2        12
            XCH    A,@Ri        间接RAM与累加器交换        1        12
            XCHD   A,@Ri        间接RAM与累加器进行低半字节交换        1        12


            2、算术操作类指令
            助记符        功能说明        字节数        振荡周期
            ADD    A,Rn        寄存器内容加到累加器        1        12
            ADD    A,direct        直接地址单元加到累加器        2        12
            ADD    A,@Ri        间接RAM内容加到累加器        1        12
            ADD    A,#data8        8位立即数加到累加器        2        12
            ADDC   A,Rn        寄存器内容带进位加到累加器        1        12
            ADDC   A,dirct        直接地址单元带进位加到累加器        2        12
            ADDC   A,@Ri        间接RAM内容带进位加到累加器        1        12
            ADDC   A,#data8        8位立即数带进位加到累加器        2        12
            SUBB   A,Rn        累加器带借位减寄存器内容        1        12
            SUBB   A,dirct        累加器带借位减直接地址单元        2        12
            SUBB   A,@Ri        累加器带借位减间接RAM内容        1        12
            SUBB   A,#data8        累加器带借位减8位立即数        2        12
            INC    A        累加器加1        1        12
            INC    Rn        寄存器加1        1        12
            INC    direct        直接地址单元内容加1        2        12
            INC    @Ri        间接RAM内容加1        1        12
            INC    DPTR        DPTR加1        1        24
            DEC    A        累加器减1        1        12
            DEC    Rn        寄存器减1        1        12
            DEC    direct        直接地址单元内容减1        2        12
            DEC    @Ri        间接RAM内容减1        1        12
            MUL    A,B        A乘以B        1        48
            DIV    A,B        A除以B        1        48
            DA     A        累加器进行十进制转换        1        12

            3、逻辑操作类指令
            助记符        功能说明        字节数        振荡周期
            ANL    A,Rn        累加器与寄存器相“与”        1        12
            ANL    A,direct        累加器与直接地址单元相“与”        2        12
            ANL    A,@Ri        累加器与间接RAM内容相“与”        1        12
            ANL    A,#data8        累加器与8位立即数相“与”        2        12
            ANL    direct,A        直接地址单元与累加器相“与”        2        12
            ANL    direct,#data8        直接地址单元与8位立即数相“与”        3        24
            ORL    A,Rn        累加器与寄存器相“或”        1        12
            ORL    A,direct        累加器与直接地址单元相“或”        2        12
            ORL    A,@Ri        累加器与间接RAM内容相“或”        1        12
            ORL    A,#data8        累加器与8位立即数相“或”        2        12
            ORL    direct,A        直接地址单元与累加器相“或”        2        12
            ORL    direct,#data8        直接地址单元与8位立即数相“或”        3        24
            XRL    A,Rn        累加器与寄存器相“异或”        1        12
            XRL    A,direct        累加器与直接地址单元相“异或”        2        12
            XRL    A,@Ri        累加器与间接RAM内容相“异或”        1        12
            XRL    A,#data8        累加器与8位立即数相“异或”        2        12
            XRL    direct,A        直接地址单元与累加器相“异或”        2        12
            XRL    direct,#data8        直接地址单元与8位立即数相“异或”        3        24
            CLR    A        累加器清0        1        12
            CPL    A        累加器求反        1        12
            RL     A        累加器循环左移        1        12
            RLC    A        累加器带进位循环左移        1        12
            RR     A        累加器循环右移        1        12
            RRC    A        累加器带进位循环右移        1        12
            SWAP   A        累加器半字节交换        1        12

            4、控制转移类指令 
            助记符        功能说明        字节数        振荡周期
            ACALL  addr11        绝对短调用子程序        2        24
            LACLL  addr16        长调用子程序        3        24
            RET        子程序返回        1        24
            RETI        中断返回        1        24
            AJMP   addr11        绝对短转移        2        24
            LJMP   addr16        长转移        3        24
            SJMP   rel        相对转移        2        24
            JMP    @A+DPTR        相对于DPTR的间接转移        1        24
            JZ     rel        累加器为零转移        2        24
            JNZ    rel        累加器非零转移        2        24
            CJNE   A,direct,rel        累加器与直接地址单元比较,不等则转移        3        24
            CJNE   A,#data8,rel        累加器与8位立即数比较,不等则转移        3        24
            CJNE   Rn,#data8,rel        寄存器与8位立即数比较,不等则转移(相等则执行本指令的下一条)        3 
                   24
            CJNE   @Ri,#data8,rel        
            间接RAM单元,不等则转移(但有时还想得知两数比较之后哪个大,哪个小,本条指令也具有这样的功能,如果两数不相等,则CPU还会反映出哪个数大,哪个数小,这是用CY(进位位)来实现的。如果前面的数(A中的)大,则CY=0,否则CY=1) 
                   3        24
            DJNZ   Rn,rel        寄存器减1,非零转移        3        24
            DJNZ   direct,rel        直接地址单元减1,非零转移        3        24
            NOP        空操作        1        12
            控制转移指令共有17条,可分为“无条件转移指令” “有条件转移指令” “子程序调用指令” 及 “返回指令”。

            5、布尔变量操作类指令
            助记符        功能说明        字节数        振荡周期
            CLR    C        清进位位        1        12
            CLR    bit        清直接地址位        2        12
            SETB   C        置进位位        1        12
            SETB   bit        置直接地址位        2        12
            CPL    C        进位位求反        1        12
            CPL    bit        直接地址位求反        2        12
            ANL    C,bit        进位位和直接地址位相“与”        2        24
            ANL    C,bit        进位位和直接地址位的反码相“与”        2        24
            ORL    C,bit        进位位和直接地址位相“或”        2        24
            ORL    C,bit        进位位和直接地址位的反码相“或”        2        24
            MOV    C,bit        直接地址位送入进位位        2        12
            MOV    bit,C        进位位送入直接地址位        2        24
            JC     rel        进位位为1则转移(CY=O不转移,=1转移)        2        24
            JNC    rel        进位位为0则转移(和上面相反)        2        24
            JB     bit,rel        直接地址位为1则转移        3        24
            JNB    bit,rel        直接地址位为0则转移        3        24
            JBC    bit,rel        直接地址位为1则转移,该位清零        3        24

            伪指令
            助记符        功能说明        字节数        振荡周期
            ORG        设置程序起始地址                
            END        标志源代码结束                
            EQU        定义常数                
            SET        定义整型数                
            DATA        给字节类型符号定值                
            BYTE        给字节类型符号定值                
            WROD        给字类型符号定值                
            BIT        给位地址取名                
            ALTNAME        用自定义名取代保留字                
            DB        给一块连续的存储区装载字节型数据                
            DW        给一块连续的存储区装载字型数据                
            DS        预留一个连续的存储区或装入指定字节。                
            INCLUDE        将一个源文件插入程序中        I        
            TITLE        列表文件中加入标题行                
            NOLIST        汇编时不产生列表文件                
            NOCODE        条件汇编时,条件为假的不产生清单                

            寄存器:
            符号        地址        功能介绍
            B        F0H        B寄存器
            ACC        E0H        累加器
            PSW        D0H        程序状态字
            IP        B8H        中断优先级控制寄存器
            P3        B0H        P3口锁存器
            IE        A8H        中断允许控制寄存器
            P2        A0H        P2口锁存器
            SBUF        99H        串行口锁存器
            SCON        98H        串行口控制寄存器
            P1        90H        P1口锁存器
            TH1        8DH        定时器/计数器1(高8位)
            TH0        8CH        定时器/计数器1(低8位)
            TL1        8BH        定时器/计数器0(高8位)
            TL0        8AH        定时器/计数器0(低8位)
            TMOD        89A        定时器/计数器方式控制寄存器
            TCON        88H        定时器/计数器控制寄存器
            DPH        83H        数据地址指针(高8位)
            DPL        82H        数据地址指针(低8位)
            SP        81H        堆栈指针
            P0        80H        P0口锁存器
            PCON        87H        电源控制寄存器


            查看完整版本: MCS-51单片机的指令集




      Powered by Discuz! Archiver 4.0.0  © 2001-2005 Comsenz Technology Ltd 
      Processed in 0.008689 second(s), 2 queries
             


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -