
第六次课(共2学时)一、授课题目:数据传送指令和逻辑运算指令二、教学目标和任务:1.掌握MOV、MOVX、MOVC指令的用法及适用存储空间;2.掌握交换指令、堆栈指令;3.掌握逻辑运算指令ANL、ORL、XRL的用法。三、教学重难点:重点:MOV、MOVX、MOVC指令的用法及适用存储空间,ANL、ORL、XRL指令的用法难点:MOV指令的用法四、授课过程:回顾:简要的回顾上一节课的主要知识点,立即寻址、直接寻址、寄存器间接寻址、基址加变址间接寻址等寻址方式,不同存储空间可用的寻址方式,不同寻址方式适用的存储空间。0.引入由于课时的关系,我们不能学习所有的指令,本节课将学习一些基础的数据传送指令和逻辑运算指令。1.MOV指令该指令非常重要,用法较为复杂。MOV指令中可用的操作数有:#data、A、dir、Rn、@Ri、DPTR、#data16。其中立即数#data和#data16不能作为目标操作数,接下来分别讨论其余五个操作数作为目标操作数的情况。A为目标操作数时,可用指令有:1
1 第六次课(共 2 学时) 一、授课题目:数据传送指令和逻辑运算指令 二、教学目标和任务: 1. 掌握 MOV、MOVX、MOVC 指令的用法及适用存储空间; 2. 掌握交换指令、堆栈指令; 3. 掌握逻辑运算指令 ANL、ORL、XRL 的用法。 三、教学重难点: 重点:MOV、MOVX、MOVC 指令的用法及适用存储空间,ANL、 ORL、XRL 指令的用法 难点:MOV 指令的用法 四、授课过程: 回顾:简要的回顾上一节课的主要知识点,立即寻址、直 接寻址、寄存器间接寻址、基址加变址间接寻址等寻址方式, 不同存储空间可用的寻址方式,不同寻址方式适用的存储空间。 0.引入 由于课时的关系,我们不能学习所有的指令,本节课将学 习一些基础的数据传送指令和逻辑运算指令。 1. MOV 指令 该指令非常重要,用法较为复杂。 MOV 指令中可用的操作数有:#data、A、dir、Rn、@Ri、 DPTR、#data16。其中立即数#data 和#data16 不能作为目标操 作数,接下来分别讨论其余五个操作数作为目标操作数的情况。 A 为目标操作数时,可用指令有:

MOVA,dirMOVA,RnMOV A, @RiMOv A,#dataRn为目标操作数时,可用指令有:MOV Rn, dirMOVRn,AMOVRn,#data@Ri为目标操作数时,可用指令有:MOV @Ri,AMOv @Ri,dirMOv@Ri,#data以dir为目标操作数时,可用指令有:MOVdir,AMOv dir,#dataMOV dir, RnMOv dir,@RiMOv dir,dir2以dptr为目标操作数时,可用指令有MOvdptr,#datal6该部分内容是本课难点,牢记掌握较困难,为同学们总结了如下规律:1、且标操作数不能是立即数。2、立即数赋值时应注意立即数的范围,一字节的寄存器2
2 MOV A,dir MOV A,Rn MOV A,@Ri MOV A,#data Rn 为目标操作数时,可用指令有: MOV Rn,dir MOV Rn,A MOV Rn, #data @Ri 为目标操作数时,可用指令有: MOV @Ri,A MOV @Ri,dir MOV @Ri,#data 以 dir 为目标操作数时,可用指令有: MOV dir,A MOV dir,#data MOV dir,Rn MOV dir,@Ri MOV dir,dir2 以 dptr 为目标操作数时,可用指令有 MOV dptr,#data16 该部分内容是本课难点,牢记掌握较困难,为同学们总结 了如下规律: 1、目标操作数不能是立即数。 2、立即数赋值时应注意立即数的范围,一字节的寄存器

作为且标操作数时小于256,二字节(DPTR)小于65535。3、一条指令中不可以出现两个寄存器。4、间接寻址寄存器只有RO、R1和DPTR。例题1:判断如下指令是否合法MOV29H,R7MOV25H, P1MOVMOV 56H,#70H34H, 28HMOVR3, R7MOV@R1, R7MOVMOVR3, #D2H#34H,28HMOVA,#280HMOVP3, P1MOV@R3,10HMOV@DPTR,AVVVXXXXXX1例题2:如何将R1中的内容传送给R3,如何实现R2和R5内容互换。MOVA,R1MOVR3,AMOV10H,R2MOVA,R5MOVR2,AMOVR5,10H2.MOVX指令用于扩展RAM数据传送,仅四条可用读扩展RAM内容时:MOVXA,@DPTR(DPTR的值为目标所作地址)MOVXA,@Ri(目标所作地址通过P2和Ri共同给出,P23
3 作为目标操作数时小于 256,二字节(DPTR)小于 65535。 3、一条指令中不可以出现两个寄存器。 4、间接寻址寄存器只有 R0、R1 和 DPTR。 例题 1:判断如下指令是否合法 MOV 29H,R7 MOV 25H,P1 MOV 56H,#70H MOV 34H,28H MOV R3,R7 MOV @R1,R7 MOV R3,#D2H MOV #34H,28H MOV A,#280H MOV P3,P1 MOV @R3,10H MOV @DPTR,A √ √ √ √ × × √ × × √ × × 例题 2:如何将 R1 中的内容传送给 R3,如何实现 R2 和 R5 内容互 换。 MOV A,R1 MOV R3,A MOV 10H,R2 MOV A,R5 MOV R2,A MOV R5,10H 2.MOVX 指令 用于扩展 RAM 数据传送,仅四条可用 读扩展 RAM 内容时: MOVX A,@DPTR(DPTR 的值为目标所作地址) MOVX A,@Ri(目标所作地址通过 P2 和 Ri 共同给出,P2

给出高八位地址,Ri给出低八位地址)向扩展RAM中写内容时:MOVX@DPTR,A(DPTR的值为目标所作地址)MOVX@Ri,A(目标所作地址通过P2和Ri共同给出,P2给出高八位地址,Ri给出低八位地址)例题3:编程实现扩展RAM2000H中内容传送给扩展RAM2100HMOVDPTR,#2000HMOVXA,@DPTRMOVDPTR,#2100HMOVX@DPTR,A3.MOVC指令MOVC A,@A+DPTRMOVCA,@A+PC(PC中存放的是下一条将要执行的指令的地址)例题4:判断如下指令是否合法MOVXA,2000HMOVA,2000HMOV@R3,#40HMOV@R1,#40HMOVXA,@DPTRMOVX30H,@DPTRMOVCA,@DPTRXXXVVXX4.交换指令4
4 给出高八位地址,Ri 给出低八位地址) 向扩展 RAM 中写内容时: MOVX @DPTR,A(DPTR 的值为目标所作地址) MOVX @Ri,A(目标所作地址通过 P2 和 Ri 共同给出,P2 给出高八位地址,Ri 给出低八位地址) 例题 3:编程实现扩展 RAM2000H 中内容传送给扩展 RAM2100H MOV DPTR,#2000H MOVX A,@DPTR MOV DPTR,#2100H MOVX @DPTR,A 3. MOVC 指令 MOVC A,@A+DPTR MOVC A,@A+PC(PC 中存放的是下一条将要执行的指令的 地址) 例题4:判断如下指令是否合法 MOVX A,2000H MOV A,2000H MOV @R3,#40H MOV @R1,#40H MOVX A,@DPTR MOVX 30H,@DPTR MOVC A,@DPTR × × × √ √ × × 4.交换指令

XCH,XCHD、SWAPXCH A,RnXCH A,@RiXCH A, directXCHD A,@RiSWAP A掌握这些指令的用法。例题5:(A)=10H,(RO)=56H,(10H)=78H,分析如下指令的执行结果XCH A,ROXCH A, @ROSWAPAXCHD A, @RO5.堆栈操作指令PUSH directSP=SP+1(SP)=(direct)POP direct(direct)=(SP)SP=SP-1该部分向同学们强调堆栈有保护现场的功能。6.ANL、ORL、XRL指令的用法ANL指令可实现部分位置零、ORL可实现部分位置1,XRL指令可实现部分位取反。例题6:将PO低四位置1,高四位不变,将P3高四位取反,低四位不变,将P2低四位置0,高四位不变ORLPO,#OFHXRLP3,#OFOHANLP2,#OFOH五、作业5
5 XCH,XCHD、SWAP XCH A,Rn XCH A,@Ri XCH A,direct XCHD A,@Ri SWAP A 掌握这些指令的用法。 例题5:(A)=10H,(R0)=56H,(10H)=78H,分析如下指令的执 行结果 XCH A,R0 XCH A,@R0 SWAP A XCHD A,@R0 5.堆栈操作指令 PUSH direct SP=SP+1 (SP)=(direct) POP direct (direct)=(SP) SP=SP-1 该部分向同学们强调堆栈有保护现场的功能。 6.ANL、ORL、XRL 指令的用法 ANL 指令可实现部分位置零、ORL 可实现部分位置 1,XRL 指令可实现部分位取反。 例题 6:将 P0 低四位置 1,高四位不变,将 P3 高四位取反,低四 位不变,将 P2 低四位置 0,高四位不变 ORL P0,#0FH XRL P3,#0F0H ANL P2,#0F0H 五、作业

1.请读如下指令判断数据传送过程MOVDPTR,#1234HMOVX A,@DPTRMOVP2,#12HMOVR1,#34HMOVX @RI,A2.编程实现外部存储器2000H和3000H内容互换。3.将P1的0、1位取反,2、3位置1,4、5位清零,6、7位保持不变4.将程序Flash2000H的高四位取反,低四位不变,传送到扩展RAM2000HP91:5.1、5.2、5.3、5.4、P92:5.8P93:6.1六、参考文献1.丁向荣编,单片机微机原理与接口技术(第2版),北京:电子工业出版社,20182.张毅刚编,单片机原理及应用:C51编程+Proteus仿真(第2版),北京:高等教育出版社,20163.丁元杰编,单片微机原理及应用(第三版),北京:机械工业出版社,2011.4.郭文川编,MCS-51单片机原理接口及应用,北京:电子工业出版社,20135.周航慈编,单片机应用程序设计技术(修订版),北京:北京航6
6 1. 请读如下指令判断数据传送过程 MOV DPTR,#1234H MOVX A,@DPTR MOV P2, #12H MOV R1,#34H MOVX @R1,A 2. 编程实现外部存储器 2000H 和 3000H 内容互换。 3. 将 P1 的 0、1 位取反,2、3 位置 1,4、5 位清零,6、7 位 保持不变 4. 将程序 Flash2000H 的高四位取反,低四位不变,传送到扩 展 RAM2000H P91:5.1、5.2、5.3、5.4、 P92:5.8 P93:6.1 六、参考文献 1. 丁向荣编,单片机微机原理与接口技术(第 2 版),北京:电子 工业出版社,2018. 2. 张毅刚编, 单片机原理及应用:C51编程+Proteus仿真(第2版), 北京:高等教育出版社,2016. 3. 丁元杰编,单片微机原理及应用(第三版),北京:机械工业出 版社,2011. 4. 郭文川编,MCS-51 单片机原理接口及应用,北京:电子工业出 版社,2013. 5. 周航慈编, 单片机应用程序设计技术(修订版),北京:北京航

天航空大学出版社,20026.严洁编,单片机原理及其接口技术,北京,机械工业出版社,2010.七、课后记指令系统为重要考点,同时也是难点,需要记忆也需要理解,讲解时要穿插例题,并充分和学生互动,确保学生完全掌握。7
7 天航空大学出版社,2002. 6. 严洁编, 单片机原理及其接口技术,北京,机械工业出版社, 2010. 七、课后记 指令系统为重要考点,同时也是难点,需要记忆也需要理 解,讲解时要穿插例题,并充分和学生互动,确保学生完全掌 握