最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C51单片机指令集大全

来源:动视网 责编:小OO 时间:2025-09-28 00:50:33
文档

C51单片机指令集大全

格式功能简述字节数周期一、数据传送类指令MOVA,Rn寄存器送累加器11MOVRn,A累加器送寄存器11MOVA,@Ri内部RAM单元送累加器11MOV@Ri,A累加器送内部RAM单元11MOVA,#data立即数送累加器21MOVA,direct直接寻址单元送累加器21MOVdirect,A累加器送直接寻址单元21MOVRn,#data立即数送寄存器21MOVdirect,#data立即数送直接寻址单元32MOV@Ri,#data立即数送内部RAM单元21MOVdirect,Rn寄存器送直接
推荐度:
导读格式功能简述字节数周期一、数据传送类指令MOVA,Rn寄存器送累加器11MOVRn,A累加器送寄存器11MOVA,@Ri内部RAM单元送累加器11MOV@Ri,A累加器送内部RAM单元11MOVA,#data立即数送累加器21MOVA,direct直接寻址单元送累加器21MOVdirect,A累加器送直接寻址单元21MOVRn,#data立即数送寄存器21MOVdirect,#data立即数送直接寻址单元32MOV@Ri,#data立即数送内部RAM单元21MOVdirect,Rn寄存器送直接
格式 功能简述 字节数 周期     

  一、数据传送类指令 

  MOV A, Rn                      寄存器送累加器 1 1 

  MOV Rn,A                       累加器送寄存器 1 1 

  MOV A ,@Ri                    内部RAM单元送累加器 1 1 

  MOV @Ri ,A                    累加器送内部RAM单元 1 1 

  MOV A ,#data                   立即数送累加器 2 1 

  MOV A ,direct                  直接寻址单元送累加器 2 1 

  MOV direct ,A                  累加器送直接寻址单元 2 1 

  MOV Rn,#data                   立即数送寄存器 2 1 

  MOV direct ,#data              立即数送直接寻址单元 3 2 

  MOV @Ri ,#data                立即数送内部RAM单元 2 1 

  MOV direct ,Rn                 寄存器送直接寻址单元 2 2 

  MOV Rn ,direct                 直接寻址单元送寄存器 2 2 

  MOV direct ,@Ri               内部RAM单元送直接寻址单元 2 2 

  MOV @Ri ,direct               直接寻址单元送内部RAM单元 2 2 

  MOV direct2,direct1            直接寻址单元送直接寻址单元 3 2 

  MOV DPTR ,#data16              16位立即数送数据指针 3 2 

  MOVX A ,@Ri                   外部RAM单元送累加器(8位地址) 1 2 

  MOVX @Ri ,A                   累加器送外部RAM单元(8位地址) 1 2 

  MOVX A ,@DPTR                 外部RAM单元送累加器(16位地址) 1 2 

  MOVX @DPTR ,A                 累加器送外部RAM单元(16位地址) 1 2 

  MOVC A ,@A+DPTR               查表数据送累加器(DPTR为基址) 1 2 

  MOVC A ,@A+PC                 查表数据送累加器(PC为基址) 1 2 

  XCH A ,Rn                      累加器与寄存器交换 1 1 

  XCH A ,@Ri                    累加器与内部RAM单元交换 1 1 

  XCHD A ,direct                 累加器与直接寻址单元交换 2 1 

  XCHD A ,@Ri                   累加器与内部RAM单元低4位交换 1 1 

  SWAP A                          累加器高4位与低4位交换 1 1 

  POP direct                      栈顶弹出指令直接寻址单元 2 2 

  PUSH direct                     直接寻址单元压入栈顶 2 2 

  二、算术运算类指令 

  ADD A, Rn                      累加器加寄存器 1 1 

  ADD A, @Ri                    累加器加内部RAM单元 1 1 

  ADD A, direct                  累加器加直接寻址单元 2 1 

  ADD A, #data                   累加器加立即数 2 1 

  ADDC A, Rn                     累加器加寄存器和进位标志 1 1 

  ADDC A, @Ri                    累加器加内部RAM单元和进位标志 1 1 

  ADDC A, #data                  累加器加立即数和进位标志 2 1 

  ADDC A, direct                  累加器加直接寻址单元和进位标志 2 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 

  DA A                            十进制调整 1 1 

  SUBB A, Rn                     累加器减寄存器和进位标志 1 1 

  SUBB A, @Ri                   累加器减内部RAM单元和进位标志 1 1 

  SUBB A, #data                  累加器减立即数和进位标志 2 1 

  SUBB A, direct                  累加器减直接寻址单元和进位标志 2 1 

  DEC A                           累加器减1 1 1 

  DEC Rn                          寄存器减1 1 1 

  DEC @Ri                        内部RAM单元减1 1 1 

  DEC direct                      直接寻址单元减1 2 1 

  MUL AB                          累加器乘寄存器B 1 4 

  DIV AB                          累加器除以寄存器B 1 4 

  三、逻辑运算类指令

  ANL A, Rn                      累加器与寄存器 1 1 

  ANL A, @Ri                    累加器与内部RAM单元 1 1 

  ANL A, #data                   累加器与立即数 2 1 

  ANL A, direct                  累加器与直接寻址单元 2 1 

  ANL direct, A                  直接寻址单元与累加器 2 1 

  ANL direct, #data              直接寻址单元与立即数 3 1 

  ORL A, Rn                      累加器或寄存器 1 1 

  ORL A,@Ri                     累加器或内部RAM单元 1 1 

  ORL A,#data                    累加器或立即数 2 1 

  ORL A,direct                   累加器或直接寻址单元 2 1 

  ORL direct, A                  直接寻址单元或累加器 2 1 

  ORL direct, #data              直接寻址单元或立即数 3 1 

  XRL A, Rn                      累加器异或寄存器 1 1 

  XRL A,@Ri                     累加器异或内部RAM单元 1 1 

  XRL A,#data                    累加器异或立即数 2 1 

  XRL A,direct                   累加器异或直接寻址单元 2 1 

  XRL direct, A                  直接寻址单元异或累加器 2 1 

  XRL direct, #data              直接寻址单元异或立即数 3 2 

  RL A                            累加器左循环移位 1 1 

  RLC A                           累加器连进位标志左循环移位 1 1 

  RR A                            累加器右循环移位 1 1 

  RRC A                           累加器连进位标志右循环移位 1 1 

  CPL A                           累加器取反 1 1 

  CLR A                           累加器清零 1 1 

  四、控制转移类指令类 

  ACCALL addr11 2KB                 范围内绝对调用 2 2 

  AJMP addr11 2KB                   范围内绝对转移 2 2 

  LCALL addr16 2KB                  范围内长调用 3 2 

  LJMP addr16 2KB                   范围内长转移 3 2 

  SJMP rel                          相对短转移 2 2 

  JMP @A+DPTR                      相对长转移 1 2 

  RET                               子程序返回 1 2 

  RET1                              中断返回 1 2 

  JZ rel                            累加器为零转移 2 2 

  JNZ rel                           累加器非零转移 2 2 

  CJNE A ,#data ,rel              累加器与立即数不等转移 3 2 

  CJNE A ,direct ,rel             累加器与直接寻址单元不等转移 3 2 

  CJNE Rn,#data ,rel              寄存器与立即数不等转移 3 2 

  CJNE @Ri ,#data,rel RAM        单元与立即数不等转移 3 2 

  DJNZ Rn ,rel                     寄存器减1不为零转移 2 2 

  DJNZ direct ,rel                 直接寻址单元减1不为零转移 3 2 

  NOP                               空操作 1 1 

  五、布尔操作类指令 

  MOV C, bit                       直接寻址位送C 2 1 

  MOV bit, C C                     送直接寻址位 2 1 

  CLR C C                           清零 1 1 

  CLR bit                           直接寻址位清零 2 1 

  CPL C C                           取反 1 1 

  CPL bit                           直接寻址位取反 2 1 

  SETB C C                          置位 1 1 

  SETB bit                          直接寻址位置位 2 1 

  ANL C, bit C                     逻辑与直接寻址位 2 2 

  ANL C, /bit C                    逻辑与直接寻址位的反 2 2 

  ORL C, bit C                     逻辑或直接寻址位 2 2 

  ORL C, /bit C                    逻辑或直接寻址位的反 2 2 

  JC rel C为1                      转移 2 2 

  JNC rel C为零                     转移 2 2 

  JB bit,rel                       直接寻址位为1转移 3 2 

  JNB bit,rel                      直接寻址为0转移

1、D1~D8八个彩灯按规定顺序依次点亮(间隔1秒),最后全亮;2、按规定顺序依次熄灭(间隔1秒),最后全灭;

3、八个灯同时点亮,保持1秒;      4、八个灯同时熄灭,保持0.5秒;再将第3、4步重复4遍,最后整个程序再重复N遍。

5、让八个灯依次显示为0100 1001   1.假设1:D1~D8八个彩灯接在P1口,输出低电平发光  2.假设2:系统晶振为12MHz        3.假设3:N = 5

       ORG 0000H

       MOV R3, #5           ;N=5

LOOP0:

       MOV A,   #0FFH       

       MOV P1, #0FFH        ;开始时全灭

;-------------------------------逐个点亮

       MOV R2, #8

LOOP1: CLR C

       RLC A

       MOV P1, A

       CALL DL500MS

       DJNZ R2, LOOP1

;-------------------------------逐个熄灭

       MOV R2, #8

LOOP2: SETB C

       RLC A

       MOV P1, A

       CALL DL500MS

       DJNZ R2, LOOP2

;-------------------------------全亮、全灭交替

       MOV R2, #4

LOOP3: MOV P1, #0           ;全亮

       CALL DL500MS

       CALL DL500MS           ;共1s

       MOV P1, #255         ;全灭

       CALL DL500MS           ;0.5s

       DJNZ R2, LOOP3

;-------------------------------

       DJNZ R3, LOOP0

       MOV P1, #01001001B   ;5、显示为0100 1001

       CALL DL500MS

       CALL DL500MS           ;共1s

       SJMP 0000H             ;重新开始N遍

;-------------------------------延时子程序

DL500MS:

       MOV R5, #9      ;1T

DL1:   MOV R6, #128    ;1T

DL2:   MOV R7, #215    ;1T

       NOP              ;1T

DL3:   DJNZ R7, DL3     ;2T   2 * 215 = 430 T

       DJNZ R6, DL2     ;2T   [1+1+430+2] * 128 = 55552 T

       DJNZ R5, DL1     ;2T   [1+55552+2] * 9 = 499995 T

       RET              ;2T   1 + 499995 + 2 = 499998 T

;-------------------------------------

END

文档

C51单片机指令集大全

格式功能简述字节数周期一、数据传送类指令MOVA,Rn寄存器送累加器11MOVRn,A累加器送寄存器11MOVA,@Ri内部RAM单元送累加器11MOV@Ri,A累加器送内部RAM单元11MOVA,#data立即数送累加器21MOVA,direct直接寻址单元送累加器21MOVdirect,A累加器送直接寻址单元21MOVRn,#data立即数送寄存器21MOVdirect,#data立即数送直接寻址单元32MOV@Ri,#data立即数送内部RAM单元21MOVdirect,Rn寄存器送直接
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top