授课日期 班次 授课时数2 课题: 任务三:单片机做加、减、乘、除运算 教学目的:掌握MCS-51的算术运算类指令,区分增量指令和加法指令的不同 了解单片机的算术运算部件 重点:MCS51算术运算类指令 难点:增量指令(减量指令)和加法指令(减法指令)的区别 教具:多媒体 作业:3.143.15 自用参考书:《单片机应用技术》耿长清主编、《单片机应用技术》刘守义主编 教学过程:一、复习提问 1.MCS-51有哪些数据传送指令? 2什么是指令的寻址方式?MCS-51采用了哪几种寻址方式? 新授 由任务三:单片机做加、减、乘、除运算引入本次课内容 硬件电路与工作原理 通过任务描述,明确任务要求,引导学生画出硬件电路 2.程序设计 3.相关知识 )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.课堂小结 课后小结:
372任务三单片所如减乘除运算 任务描述:利用单片机的算术运算指令进行将P、PO口的数进行加、减 乘、除运算,并将结果送P1口发光二极管显示 3.2.1硬件电路与工作原理 1、硬件电路 外 ENVP
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
3.2在务三单片机减、乘除是算 3.22控制程序 1、加法运算程序 2、减法运算程序 ORG 0000H ORG 0000H MOv A, PO Mov A, PO MOV RO, P2 Mov RO, P2 add A, RO subB A, RO MOV P1, A MOV PI, A SJMP S S MP 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
单片 3、乘法运算程序 4、除法运算程序 ORG O000H ORG 0000H MOv A, PO Mov A, PO MOv B, P2 MOV B, P2 AB DIV AB MOV P1, A MoV Pl, A SJMP S SJMP S 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
单片 32.3源程序的编辑、编译、下载 打开“伟福”模拟仿真软件进行程序的编辑、编译 1、正确选择单片机类型8751或8031 2、正确选择编译器一伟福编译器 3、选择模拟仿真功能 4、打开或新建文件进行编辑 5、编译 打开“ISP下载软件”将目标文件下载到ISP-4实验开发板上的 AT89S51单片机芯片,观察程序运行结果 、编译成功后打开下载软件 2、选择好单片机89S51并测试 3、打开伟福6000编译生成的BⅠN或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、观看运行结果
单片 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(程序状态字)有影响。这在使用中应特别注意
单片 3.2.4相关知识 1、什么是算术运算指令?MS-51单片机有哪些算术运算指令? 不带进位的加法指令(4条) 这4条指令的作用是把立即数,直接地址、工作寄存器及间接地址内 容与累加器A的内容相加,运算结果存在A中。 ADDA#data;(A)+#data→(A)累加器A中的内容与立即数 #data相加,结果存在A中 ADD A data;(A)+(data)→(A)累加器A中的内容与直接 地址单元中的内容相加,结果存在A中 ADD ARn;(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 Adata;(A)+(data)+(C)→(A)累加器A中的内 容与直接地址单元的内容连同进位位相加,结果存在A中 ADDC A#data;(A)+#data+(C)→(A)累加器A中的内容 与立即数连同进位位相加,结果存在A中 ADDC ARn;(A)+Rn+(C)→(A)累加器A中的内容与工 作寄存器Rn中的内容、连同进位位相加,结果存在A中 ADDC A@Ri;(A)+((Ri))+(C)→(A)累加器A中的 内容与工作寄存器R指向地址单元中的内容、连同进位位相加,结果存 在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 Adata;(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中
单片 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中
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中