
授课日期 班次 授课时数2 课题: 任务三:单片机做加、减、乘、除运算 教学目的:掌握MCS-51的算术运算类指令,区分增量指令和加法指令的不同 了解单片机的算术运算部件 重点: MCS-51算术运算类指令 难点: 增量指令(减量指令)和加法指令(减法指令)的区别 教具: 多媒体 作业: 3.143.15 自用参考书:《单片机应用技术》耿长清主编、《单片机应用技术》刘守义主编 教学过程 复习提问 1.MCS-51有哪些数据传送指令? 2.什么是指令的寻址方式?MCS-51采用了哪几种寻址方式? ,新授 由任务三:单片机做加、减、乘、除运算引入本次课内容 1.硬件电路与工作原理 通过任务描述,明确任务要求,引导学生画出硬件电路 2.程序设计 3.相关知识 1)MCS-51的算术运算指令 2)为什么单片机内部要集成算术运算部件和算术运算指令? 3)增量指令(减量指令)与加法指令(减法指令)有什么不同? 4)算术运算应用举例 4.课堂小结 课后小结
授课日期 班次 授课时数 2 课题: 任务三:单片机做加、减、乘、除运算 教学目的:掌握MCS-51的算术运算类指令,区分增量指令和加法指令的不同 了解单片机的算术运算部件 重点: MCS-51算术运算类指令 难点: 增量指令(减量指令)和加法指令(减法指令)的区别 教具: 多媒体 作业: 3.14 3.15 自用参考书:《单片机应用技术》耿长清主编、《单片机应用技术》刘守义主编 教学过程:一、复习提问 1. MCS-51有哪些数据传送指令? 2.什么是指令的寻址方式? MCS-51采用了哪几种寻址方式? 二、新授 由任务三:单片机做加、减、乘、除运算引入本次课内容 1. 硬件电路与工作原理 通过任务描述,明确任务要求,引导学生画出硬件电路 2. 程序设计 3. 相关知识 1)MCS-51的算术运算指令 2)为什么单片机内部要集成算术运算部件和算术运算指令? 3)增量指令(减量指令)与加法指令(减法指令)有什么不同? 4)算术运算应用举例 4.课堂小结 课后小结:

3.2任务三单片机做加、减、乘除运算 任务描述:利用单片机的算术运算指令进行将P2、PO口的数进行加、减、 乘、除运算,并将结果送PI口发光二极管显示 3.2.1硬件电路与工作原理 1、硬件电路 罗
3.2 任务三 单片机做加、减、乘、除运算 3.2.1 硬件电路与工作原理 任务描述:利用单片机的算术运算指令进行将P2、P0口的数进行加、减、 乘、除运算,并将结果送P1口发光二极管显示 1、硬件电路 1 2 3 4 A B C D 1 2 3 4 D C B A Title Size Number Revision Letter Date: 15-Jul-2005 Sheet of File: C:\Documents and Settings\Administrator\桌面Drawn By: \MyDesign.ddb EA/VP 3 1 X 1 1 9 X 2 1 8 RESET 9 R D 1 7 W R 1 6 INT0 1 2 INT1 1 3 T0 1 4 T1 1 5 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 3 9 P01 3 8 P02 3 7 P03 3 6 P04 3 5 P05 3 4 P06 3 3 P07 3 2 P20 2 1 P21 2 2 P22 2 3 P23 2 4 P24 2 5 P25 2 6 P26 2 7 P27 2 8 PSEN 2 9 ALE/P 3 0 TXD 1 1 RXD 1 0 U 3 D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 8 S 1 S 3 S 4 VCC VCC S 1 S 3 S 2 S 4 XTAL 11.0592M C 2 33P C 1 33P VCC 1 R 1 2 R 2 3 R 3 4 R 4 5 R 5 6 R 6 7 R 7 8 R 8 9 RP1 S 2 1 2 3 4 5 6 7 8 1 6 1 5 1 4 1 3 1 2 1 1 1 0 9 SD1 1 2 3 4 5 6 7 8 1 6 1 5 1 4 1 3 1 2 1 1 1 0 9 SD2

32任务三单片机做、减、乘、除运算 3.2.2控制程序 1、加法运算程序 2、减法运算程序 0RG0000H 0RG0000H MOV A,PO MOV A,PO MOV RO,P2 MOV RO.P2 ADD A,RO SUBB A,RO MOV P1,A MOV P1,A SJMP SJMP END END
3.2 任务三 单片机做加、减、乘、除运算 3.2.2 控制程序 1、加法运算程序 ORG 0000H MOV A,P0 MOV R0,P2 ADD A,R0 MOV P1,A SJMP $ END 2、减法运算程序 ORG 0000H MOV A,P0 MOV R0,P2 SUBB A,R0 MOV P1,A SJMP $ END

2任务三 单片机做加减、乘、除运算 3、乘法运算程序 4、除法运算程序 ORG 0000H 0RG0000H MOV A,PO MOV A,PO MOV B,P2 MOV B,P2 MUL AB DIV AB MOV P1,A MOV P1,A SJMP SJMP END END
3.2 任务三 单片机做加、减、乘、除运算 3、乘法运算程序 ORG 0000H MOV A,P0 MOV B,P2 MUL AB MOV P1,A SJMP $ END 4、除法运算程序 ORG 0000H MOV A,P0 MOV B,P2 DIV AB MOV P1,A SJMP $ END

3、2在务三单片机做加、减、乘、除运算 32.3源程序的编辑、编译、下载 打开“伟福”模拟仿真软件进行程序的编辑、编译。 1、正确选择单片机类型8751或8031 2、正确选择编译器一伟福编译器 3、选择模拟仿真功能 4、打开或新建文件进行编辑 5、编译 打开“ISP下载软件”将目标文件下载到SP-4实验开发板上的 AT89S51单片机芯片,观察程序运行结果。 1、编译成功后打开下载软件 2、选择好单片机89S51并测试 3、打开伟福6000编译生成的.BN或.HEX文件 4、选择自动写完成擦除、写、读、校验过程 5、观看运行结果
3.2 任务三 单片机做加、减、乘、除运算 3.2.3 源程序的编辑、编译、下载 打开“伟福”模拟仿真软件进行程序的编辑、编译。 1、正确选择单片机类型8751或8031 2、正确选择编译器-伟福编译器 3、选择模拟仿真功能 4、打开或新建文件进行编辑 5、编译 打开“ISP下载软件”将目标文件下载到ISP-4实验开发板上的 AT89S51单片机芯片,观察程序运行结果。 1、编译成功后打开下载软件 2、选择好单片机89S51并测试 3、打开伟福6000编译生成的.BIN或.HEX文件 4、选择自动写完成擦除、写、读、校验过程 5、观看运行结果

32任务三单片机做加、减、乘、除运算 3.2.4相关知识 1、什么是算术运算指令?MCS-51单片机有哪些算术运算指令? 在单片机CPU内部集成了算术运算部件,除能完成加、减、乘、除运 算外,还能完成加1运算、减1运算和十进制调整运算。 MCS-51单片机算术运算指令共有24条,算术运算主要是执行加、减、乘、 除法四则运算。另外MCS-51指令系统中有相当一部分是进行加、减1操 作,BCD码的运算和调整,我们都归类为运算指令。虽然MCS-51单片机 的算术逻辑单元ALU仅能对8位无符号整数进行运算,但利用进位标志C, 则可进行多字节无符号整数的运算。同时利用溢出标志,还可以对带符 号数进行补码运算。需要指出的是,除加、减1指令外,这类指令大多 数都会对PSW(程序状态字)有影响。这在使用中应特别注意
3.2 任务三 单片机做加、减、乘、除运算 3.2.4 相关知识 1、什么是算术运算指令?MCS-51单片机有哪些算术运算指令? 在单片机CPU内部集成了算术运算部件,除能完成加、减、乘、除运 算外,还能完成加1运算、减1运算和十进制调整运算。 MCS-51单片机算术运算指令共有24条,算术运算主要是执行加、减、乘、 除法四则运算。另外MCS-51指令系统中有相当一部分是进行加、减1操 作,BCD码的运算和调整,我们都归类为运算指令。虽然MCS-51单片机 的算术逻辑单元ALU仅能对8位无符号整数进行运算,但利用进位标志C, 则可进行多字节无符号整数的运算。同时利用溢出标志,还可以对带符 号数进行补码运算。需要指出的是,除加、减1指令外,这类指令大多 数都会对PSW(程序状态字)有影响。这在使用中应特别注意

2任务三 单片机做加、减、乘、除运身 3.2.4相关知识 1、什么是算术运算指令?MCS-51单片机有哪些算术运算指令? 不带进位的加法指令(4条) 这4条指令的作用是把立即数,直接地址、工作寄存器及间接地址内 容与累加器A的内容相加,运算结果存在A中。 ADDA,#data;(A)+#data→(A)累加器A中的内容与立即数 #data相加,结果存在A中 ADD A.data ;(A)+(data)→(A)累加器A中的内容与直接 地址单元中的内容相加,结果存在A中 ADDA,Rn;(A)+(Rn)→(A)累加器A中的内容与工作寄 存器Rn中的内容相加,结果存在A中 ADDA,@Ri;(A)+((Ri))→(A)累加器A中的内容与工 作寄存器R所指向地址单元中的内容相加,结果存在A中
3.2 任务三 单片机做加、减、乘、除运算 3.2.4 相关知识 1、什么是算术运算指令?MCS-51单片机有哪些算术运算指令? ➢ 不带进位的加法指令(4条) 这4条指令的作用是把立即数,直接地址、工作寄存器及间接地址内 容与累加器A的内容相加,运算结果存在A中。 ADD A,#data ;(A)+#data→(A)累加器A中的内容与立即数 #data相加,结果存在A中 ADD A,data ;(A)+(data)→(A)累加器A中的内容与直接 地址单元中的内容相加,结果存在A中 ADD A,Rn ;(A)+(Rn)→(A)累加器A中的内容与工作寄 存器Rn中的内容相加,结果存在A中 ADD A,@Ri ;(A)+((Ri))→(A)累加器A中的内容与工 作寄存器Ri所指向地址单元中的内容相加,结果存在A中

3、2在务三单片机做加、减、乘、除运算 3.2.4相关知识 1、什么是算术运算指令?MCS-51单片机有哪些算术运算指令? > 带进位的加法指令(4条) 这4条指令除与[1]功能相同外,在进行加法运算时还需考虑进位问题。 ADDC A,data;(A)+(data)+(C)→(A)累加器A中的内 容与直接地址单元的内容连同进位位相加,结果存在A中 ADDC A,#data;(A)+#data+(C)→(A)累加器A中的内容 与立即数连同进位位相加,结果存在A中 ADDC A,Rn;(A)+Rn+(C)→(A)累加器A中的内容与工 作寄存器Rn中的内容、连同进位位相加,结果存在A中 ADDC A,@Ri;(A)+((Ri))+(C)→(A)累加器A中的 内容与工作寄存器指向地址单元中的内容、连同进位位相加,结果存 在A中
3.2 任务三 单片机做加、减、乘、除运算 3.2.4 相关知识 1、什么是算术运算指令?MCS-51单片机有哪些算术运算指令? ➢ 带进位的加法指令(4条) 这4条指令除与[1]功能相同外,在进行加法运算时还需考虑进位问题。 ADDC A,data ;(A)+(data)+(C)→(A)累加器A中的内 容与直接地址单元的内容连同进位位相加,结果存在A中 ADDC A,#data ;(A)+#data +(C)→(A) 累加器A中的内容 与立即数连同进位位相加,结果存在A中 ADDC A,Rn ;(A)+Rn+(C)→(A)累加器A中的内容与工 作寄存器Rn中的内容、连同进位位相加,结果存在A中 ADDC A,@Ri ;(A)+((Ri))+(C)→(A)累加器A中的 内容与工作寄存器Ri指向地址单元中的内容、连同进位位相加,结果存 在A中

3.2任务三单片机做加、减、乘、除运算 3.2.4相关知识 1、什么是算术运算指令?MCS-51单片机有哪些算术运算指令? >带借位减法指令(4条) 这组指令包含立即数、直接地址、间接地址及工作寄存器与累加器A连同借 位位C内容相减,结果送回累加器A中。 这里对借位位C的状态作出说明,在进行减法运算中,CY=1表示有借位, CY=0则无借位。OV=1声明带符号数相减时,从一个正数减去一个负数结果为 负数,或者从一个负数中减去一个正数结果为正数的错误情况。在进行减法运 算前,如果不知道借位标志位C的状态,则应先对CY进行清零操作。 SUBB A.data ;(A)·(data)·(C)→(A)累加器A中的内容与直接 地址单元中的内容、连同借位位相减,结果存在A中 SUBB A.#data ,(A)#data·(C)→(A)累加器A中的内容与立即数、 连同借位位相减,结果存在A中 SUBB A.Rn ;(A)·(Rn)·(C)→(A)累加器A中的内容与工作寄 存器中的内容、连同借位位相减,结果存在A中 SUBB A,@Ri ;(A)·((Ri))·(C)→(A)累加器A中的内容与 工作寄存器R指向的地址单元中的内容、连同借位位相减,结果存在A中
3.2 任务三 单片机做加、减、乘、除运算 3.2.4 相关知识 1、什么是算术运算指令?MCS-51单片机有哪些算术运算指令? ➢ 带借位减法指令(4条) 这组指令包含立即数、直接地址、间接地址及工作寄存器与累加器A连同借 位位C内容相减,结果送回累加器A中。 这里对借位位C的状态作出说明,在进行减法运算中,CY=1表示有借位, CY=0则无借位。OV=1声明带符号数相减时,从一个正数减去一个负数结果为 负数,或者从一个负数中减去一个正数结果为正数的错误情况。在进行减法运 算前,如果不知道借位标志位C的状态,则应先对CY进行清零操作。 SUBB A,data ;(A)-(data) - (C)→(A) 累加器A中的内容与直接 地址单元中的内容、连同借位位相减,结果存在A中 SUBB A,#data ;(A)-#data -(C)→(A) 累加器A中的内容与立即数、 连同借位位相减,结果存在A中 SUBB A,Rn ;(A)-(Rn) -(C)→(A) 累加器A中的内容与工作寄 存器中的内容、连同借位位相减,结果存在A中 SUBB A,@Ri ;(A)-((Ri)) -(C)→(A) 累加器A中的内容与 工作寄存器Ri指向的地址单元中的内容、连同借位位相减,结果存在A中

2任务三 单片机做加减、乘、除运算 3.2.4相关知识 1、什么是算术运算指令?MCS-51单片机有哪些算术运算指令? 乘法指令(1条) 这个指令的作用是把累加器A和寄存器B中的8位无符号数相乘,所得 到的是16位乘积,这个结果低8位存在累加器A,而高8位存在寄存器B 中。如果OV=1,说明乘积大于FFH,否则OV=O,但进位标志位CY总 是等于0。 MUL AB;(A)×(B)→(A)和(B)累加器A中的内容与 寄存器B中的内容相乘,结果存在A、B中
3.2 任务三 单片机做加、减、乘、除运算 3.2.4 相关知识 1、什么是算术运算指令?MCS-51单片机有哪些算术运算指令? ➢ 乘法指令(1条) 这个指令的作用是把累加器A和寄存器B中的8位无符号数相乘,所得 到的是16位乘积,这个结果低8位存在累加器A,而高8位存在寄存器B 中。如果OV=1,说明乘积大于FFH,否则OV=0,但进位标志位CY总 是等于0。 MUL AB ;(A)×(B)→(A)和(B)累加器A中的内容与 寄存器B中的内容相乘,结果存在A、B中