时钟:XTAL1XTAL2 - 晶体振荡电路反相输入端和输出端。
  控制线:控制线共有4根,
  ALE/PROG:地址锁存允许/片内EPROM编程脉冲
  ALE功能:用来锁存P0口送出的低8位地址
  PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
  PSEN:ROM读选通信号。
  RST/VPD:复位/备用电源。
  RSTReset)功能:复位信号输入端。
  VPD功能:在Vcc掉电情况下,接备用电源。
  EA/Vpp:内外ROM选择/片内EPROM编程电源。
  EA功能:内外ROM选择端。
  Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp
  I/O线
  80C51共有48位并行I/O端口:P0P1P2P3口,共32个引脚。
  P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)
  5. P3口第二功能
  P30 RXD 串行输入口
  P31 TXD 串行输出口
  P32 INT0 外部中断0(低电平有效)
  P33 INT1 外部中断1(低电平有效)
  P34 T0 定时计数器0
  P35 T1 定时计数器1
  P36 WR 外部数据存储器写选通(低电平有效)
  P37 RD 外部数据存储器读选通(低电平有效)
[编辑本段]
单片机指令功能一览表
一、传送操作
  助记符 代码 说明
  MOV A,Rn E8~EF 寄存器A
  MOV A,direct E5 dircet 直接字节送A
  MOV A,@Ri ER~E7 汇编语言结束指令间接RAMA
  MOV A,#data 74 data 立即数送A
  MOV Rn,A F8~FF A送寄存器
  MOV Rn,dircet A8~AF dircet 直接字节送寄存器
  MOV Rn,#data 78~7F data 立即数送寄存器
  MOV dircet,A F5 dircet A送直接字节
  MOV dircet,Rn 88~8F dircet 寄存器送直接字节
  MOV dircet1,dircet2 85 dircet1 dircet2 直接字节送直接字节
  MOV dircet,@Ro 86~87 间接RAM送直接字节
  MOV dircet,#data 75 dircet data 立即数送直接字节
  MOV @Ri,A F6~F7 A送间接RAM
  MOV @Ri,#data 76~77 data 直接字节送间接RAM
  MOV @Ri,#data 76~77 data 立即数送间接RAM
  MOV DPTR,#data16 90 data 15~8 16位常数送数据指针
  data7~0
  MOVC A,@A+DPTR 93 ((A)+(DPTR))寻址的程序存贮
  器字节选A
  MOVC A,@A+PC 83 ((A)+(PC));寻址的程序存贮器字节送A
  MOVX A,@Ri E2~E3 送外部数据(8位地址)送A
  MOVX A,@DPTR E0 送外部数据(16位地址)送A
  MOVX @Ri,A F2~F3 A送外部数据(8位地址)
  MOVX @DPTR,A F0 A送外部数据(16位地址)
  PUSH dircet C0 dircet 直接字节进栈,SP1
  POP dircet D0 dircet 直接字节退栈,SP1
  XCH A,Rn C8~CF 交换A和寄存器
  XCH A,dircet C5 dircet 交换A和直接字节
  XCH A,@Ri C6~C7 交换A和间接RAM
  XCH A,@Ri D6~D7 交换A和间接RAM的低位
  SWAP A C4
二、算术操作
  (A的二个半字节交换)
  ADD A,Rn 28~2F 寄存器加到A
  ADD A,dircet 25 dircet 直接字节加到A
  ADD A,@Ri 26~27 间接RAM加到A
  ADD A,#data 24data 立即数加到A
  ADD A,Rn 38~3F 寄存器和进位位加到A
  ADD A,dircet 35dircet 直接字节和进位位加到A
  ADD A,@Ri 36~37 间接字节和进位位加到A
  ADD A,data 34 data 立即数和进位位加到A
  ADD A,Rn 98~9F A减去寄存器和进位位
  ADD A,dircet 95 dircet A减去直接字节和进位位
  ADD A,@Ri 36~37 间接RAM和进位位加到A
  ADD A,data 34 data 立即数和进位位加到A
  SUBB A,Rn 98~9F A减去寄存器和进位位
  SUBB A,dircet 95 dircet A减去直接字节和进位位
  SUBB A,@Ri 96~97 A减去间接RAM和进位位
  SUBB A,#data 94 data A减去立即数和进位位
  INC A 04 A1
  INC Rn 08~0F 寄存器加1
  INC dircet 05 dircet 直接字节加1
  INC @Ri 06~07 间接RAM1
  DEC A 14 A1
  DEC Rn 18~1F 寄存器减1
  DEC dircet 15 dircet 直接字节减1
  DEC @Ri 16~17 间接RAM1
  INC DPTR A3 数据指针加1
  MUL AB A4 A乘以B
  DIV AB 84 A除以B
  DA A D4 A的十进制加法调整
三、逻辑操作
  ANL A,Rn 58~5F 寄存器A
  ANL A,dircet 55 dircet 直接字节A
  ANL A,@Ri 56~57 间接RAm“A
  ANL A,#data 54 data 立即数A
  ANL dircet A 52 dircet A“到直接字节
  ANL dircet,#data 53 dircet data 立即数到直接字节
  ORL A,Rn 48~4F 寄存器A
  ORL A,dircet 45 dircet 直接字节A
  ORL A,@Ri 46~47 间接RAM“A
  ORL A,#data 44 data 立即数A
  ORL dircet,A 42 dircet A“到直接字节
  ORL dircet,#data 43 dircet data 立即数到直接字节
  XRL A,Rn 68~6F 寄存器异或A
  XRL A,dircet 65 dircet 直接字节异或A
  XRL A,@Ri 66~67 间接RAM“异或A
  XRL A,#data 64 data 立即数异或A
  XRL dircet A 62 dircet A“异或到直接字节
  XRL dircet,#data 63 dircet data 立即数异或到直接字节
  CLR A E4 清零
  CPL A F4 A取反
  RL A 23 A左环移
  RLC A 33 A通过进位左环移
  RR A 03 A右环移
  RRC A 13 A通过进位右环移
四、控制程序转移
  ACALL addr 11 *1 addr(a7~a0) 绝对子程序调用
  LCALL addr 16 12 addr(15~8) 长子程序调用
  addr(7~0)
  RET 22 子程序调用返回
  RETI addr 11 32 中断调用返回
  AJMP addr 11 1 addr(a7~a6) 绝对转移
  LJMP addr 16 02addr(15~8) 长转移
  addr(7~0)
  SJMP rel 80 rel 短转移,相对转移
  JMP @A+DPTR 73 相对于DPTR间接转移
  JZ rel 60 rel A为零转移
  JNZ rel 70 rel A为零转移
  CJNE A,dircet,rel B5 dircet rel 直接字节与A比较,不等则转移
  CJNE A,#data,rel B4 data rel 立即数与A比较,不等则转移
  CJNE A,Rn,#data,rel B8~BF data rel 立即数与寄存器比较,不等则转移
  CJNE @Ri,#data,rel B6~B7 data rel 立即数与间接RAM比较,不等则转移
  DJNZ Rn,rel D8~DF rel 寄存器减1,不为零则转移
  DJNZ dircet,rel B5 dircet rel 直接字节减1,不为零则转移
  NOP 00 空操作
  *=a10a9a8l
  =a10a9a80
五、布尔变量操作
  CLR C C3 清零进位
  CLR bit C2 清零直接位
  SETB C D3 置位进位
  SETB bit D2 置位直接位
  CPL C B3 进位取反
  CPL bit B2 直接位取反
  ANL C,bit 82 dit 直接数到进位
  ANL C,/bit B0 直接位的反到进位
  ORL C,bit 72 bit 直接位到进位
  ORL C,/bit A0 bit 直接位的反到进位
  MOV C,bit A2 bit 直接位送进位
  MOV bit,C 92 bit 进位送直接位
  JC rel 40 rel 进位位为1转移

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。