单片机基本常识8

发布时间:2014-08-02 共1页

 开发过程
  这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一例说明:
  单片机试验板
  ORG 0000H
  LJMP START
  ORG 040H
  START:
  MOV SP,#5FH ;设堆栈
  LOOP:
  NOP
  LJMP LOOP ;循环
  END ;结束
  单片指令
  传送操作

  助记符代码 说明
  MOV A,Rn E8~EF寄存器A
  MOV A,direct E5 direct 直接字节送A
  MOV A,@Ri ER~E7 间接RAM送A
  MOV A,#data 74 data立即数送A
  MOV Rn,A F8~FF A送寄存器
  MOV Rn,direct A8~AF direct 直接字节送寄存器
  MOV Rn,#data 78~7F data立即数送寄存器
  MOV direct,A F5 direct A送直接字节
  MOV direct,Rn 88~8F direct 寄存器送直接字节
  MOV direct1,direct2 85 direct1 direct2 直接字节送直接字节
  MOV direct,@Ro 86~87 间接RAM送直接字节
  MOV direct,#data 75 direct data立即数送直接字节
  MOV @Ri,A F6~F7 A送间接RAM
  MOV @Ri,direct 76~77 direct 直接字节送间接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 direct C0 direct 直接字节进栈,SP加1
  POP direct D0 direct 直接字节退栈,SP减1
  XCH A,Rn C8~CF 交换A和寄存器
  XCH A,direct C5 direct 交换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,direct 25 direct 直接字节加到A
  ADD A,@Ri 26~27 间接RAM加到A
  ADD A,#data 24data立即数加到A
  ADD A,Rn 38~3F 寄存器和进位位加到A
  ADD A,direct 35direct 直接字节和进位位加到A
  ADD A,@Ri 36~37 间接字节和进位位加到A
  ADD A,data 34 data立即数和进位位加到A
  ADD A,Rn 98~9F A减去寄存器和进位位
  ADD A,direct 95 direct A减去直接字节和进位位
  ADD A,@Ri 36~37 间接RAM和进位位加到A
  ADD A,data 34 data 立即数和进位位加到A
  SUBB A,Rn 98~9F A减去寄存器和进位位
  SUBB A,direct 95 direct A减去直接字节和进位位
  SUBB A,@Ri 96~97 A减去间接RAM和进位位
  SUBB A,#data 94 data A减去立即数和进位位
  INC A 04 A加1
  INC Rn 08~0F 寄存器加1
  INC direct 05 direct 直接字节加1
  INC @Ri 06~07 间接RAM加1
  DEC A 14 A减1
  DEC Rn 18~1F 寄存器减1
  DEC direct 15 direct 直接字节减1
  DEC @Ri 16~17 间接RAM减1
  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,direct 55 direct 直接字节“与”到A
  ANL A,@Ri 56~57 间接RAm“与”到A
  ANL A,#data 54 data立即数“与”到A
  ANL direct A 52 direct A“与”到直接字节
  ANL direct,#data 53 direct data立即数“与”到直接字节
  ORL A,Rn 48~4F 寄存器“或”到A
  ORL A,direct 45 direct 直接字节“或”到A
  ORL A,@Ri 46~47 间接RAM“或”到A
  ORL A,#data 44 data立即数“或”到A
  ORL direct,A 42 direct A“或”到直接字节
  ORL direct,#data 43 direct data立即数“或”到直接字节
  XRL A,Rn 68~6F 寄存器“异或”到A
  XRL A,direct 65 direct 直接字节“异或”到A
  XRL A,@Ri 66~67 间接RAM“异或”到A
  XRL A,#data 64 data立即数“异或”到A
  XRL direct A 62 direct A“异或”到直接字节
  XRL direct,#data 63 direct data立即数“异或”到直接字节
  CLR A E4 清零
  CPL A F4 A取反
  RL A 23 A左环移
  RLC A 33 A通过进位左环移
  RR A 03 A右环移
  RRC A 13 A通过进位右环移
  程序转移

百分百考试网 考试宝典

立即免费试用