ANL A,direct 直接寻址字节内容与累加器ORL A,direct ANL direct,A 内容 ANL A,#data ORL direct,A 直接寻址字节内容或累加器内容 累加器内容或直接寻址字节内累加器内容与直接寻址字节ORL A,#data ANL direct,内容 #data 立即数与累加器内容 立即数与直接寻址字节内容 XRL A,Rn XRL A,@Ri 寄存器内容异或累加器内容 ORL direct,容 #data 立即数或累加器内容 立即数或直接寻址字节内容 CPL A 累加器内容取反 累加器内容清空 片内RAM内容异或累加器内容 CLR A XRL A,direct 直接寻址字节内容异或累加XRL direct,A 器内容 XRL A,#data 累加器内容异或直接寻址字XRL direvt,节内容 #data 立即数异或累加器内容 立即数异或直接寻址字节内容 RL A RR A RLC A RRC A 累加器内容向左环移1位 累加器内容向右环移1位 累加器内容带进位位向左环移1位 累加器内容带进位位向右环移1位 控制转移类指令: 助记符 AJMP addr11 操作功能 绝对转移 助记符 JZ rel 操作功能 累加器内容为零转移 LJMP addr16 SJMP rel JMP @A+DPTR 长转移 相对短转移 相对长转移 JNZ rel 累加器内容不为零转移 CJNE A,direct,累加器内容与直接寻址字节内容rel 不等转移 CJNE A,#data,累加器内容与立即数不等转移 rel CJNE Rn,#data,rel CJNE @Ri,#data,rel DJNZ Rn,rel DJNZ direct,rel RET RETI 返回主程序 中断返回主程序 NOP 空操作 寄存器内容减1不为零转移 Direct内容减1不为零转移 寄存器内容与立即数不等转移 ACALL addr11 LCALL addr16 绝对调子 长调子 位操作类指令: 助记符 MOV C,bit MOV bit,C 操作功能 直接寻址位内容送进位位 进位位内容送直接寻址位 助记符 CPL C CLR C SETB C CPL bit CLR bit SETB bit ANL C,bit ORL C,bit ANL C,/bit 操作功能 进位位取反 进位位清零 进位位置位 直接寻址位取反 直接寻址位清零 直接寻址位置位 直接寻址位内容与进位位内容 直接寻址位内容或进位位内容 直接寻址位的反与进位位内容 ORL C,/bit JC rel JNC rel JB bit,rel JNB bit,rel JBC bit,rel 进位位为1转移 进位位不为1转移 直接寻址位为1转移 直接寻址位不为1转移 直接寻址位为1转移且该为清零 三、一般常用程序模式:
1、开始程序:ORG 0000H JMP 0030H ORG 0030H … …
2、软件延时子程序:YANSHI: MOV R7,#25 D1: MOV R6,#50 D2: MOV R5,#200 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET
直接寻址位的反或进位位内容 若12M晶振则延时时长约为:25×50×200×2×10-6s,若为6M晶振则延时时长为:
25×50×200×2×2×10-6s 3、硬件延时子程序:(1)查询方式:
YANSHI: MOV TMOD,#01H MOV R0,#20 UP: MOV TH0,#3CH MOV TL0,#0B0H
SETB TR0 JNB TF0,$ CLR TF0 DJNZ R0,UP RET
此延时程序为20(R0)×50ms,即为一秒,若需要更长的延时只需要改变R0的值。 4、一级中断程序:外部定时器0中断
ORG 0000H JMP 002CH ORG 0003H
JMP ZHONGDUAN ORG 002CH
MAIN: MOV TCON,#01H MOV IP,#01H MOV IE,#81H … …
ZHONGDUAN: PUSH A PUSH PSW SETB RS0 CLR RS1 … …
POP PSW POP A RETI
若不需要对主程序的值进行保护则中断的子程序只需直接载入中断主程序需要执行的子程序便可。