授课日期 班次 授课时数2 课题:任务四:单片机作逻辑运算 教学目的:掌握MCS-51的逻辑运算指令 掌握逻辑运算指令的应用 重点:逻辑运算指令的格式 难点:逻辑运算指令的格式与应用 教具:多媒体 作业:3,203,21 自用参考书:《单片机应用技术》耿长清主编、《单片机应用技术》刘守义主编 教学过程:一、复习提问 MCS-51有哪些算术运算指令? 2增量指令与加法指令有什么不同 二、新授 由任务四:单片机作逻辑运算引入本次课内容 硬件电路与工作原理 2程序设计 相关知识 )MCS-51有哪些逻辑运算指令? 2)单片机中如何确定算术逻辑运算结果的状态? 3)为什么单片机中要集成逻辑运算部件? 4)“与 或”、“异或”指令的应用技巧? 逻辑运算应用举例 4课堂小结 课后小结
授课日期 班次 授课时数 2 课题: 任务四:单片机作逻辑运算 教学目的:掌握MCS-51的逻辑运算指令 掌握逻辑运算指令的应用 重点: 逻辑运算指令的格式 难点: 逻辑运算指令的格式与应用 教具: 多媒体 作业: 3.20 3.21 自用参考书:《单片机应用技术》耿长清主编、《单片机应用技术》刘守义主编 教学过程:一、复习提问 1. MCS-51有哪些算术运算指令? 2.增量指令与加法指令有什么不同? 二、新授 由任务四:单片机作逻辑运算引入本次课内容 1. 硬件电路与工作原理 2. 程序设计 3. 相关知识 1)MCS-51有哪些逻辑运算指令? 2)单片机中如何确定算术逻辑运算结果的状态? 3)为什么单片机中要集成逻辑运算部件? 4)“与”、“或”、“异或”指令的应用技巧? 5)逻辑运算应用举例 4.课堂小结 课后小结:
373任务四利用出机最辑运数 任务描述:利用单片机的逻辑运算指令将P2、PO口数据进行逻辑与、或 异或等逻辑运算,并将结果送P1口发光二极管显示 3.3.1硬件电路与工作原理 1、硬件电路 外 ENVP
3.3 任务四 利用单片机做逻辑运算 3.3.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.3.2控制程序 逻辑“与”运算程 2.逻辑“或”运算程序 序 ORG OOOOH ORG OOOOH Mov A PO MoV A PO ORL A, P2 anl A P2 MOV PL A MOV PI. A SJMP S SJMP END
3.3 任务四 利用单片机做逻辑运算 1. 逻辑“与”运算程 序 ORG 0000H MOV A,P0 ANL A,P2 MOV P1,A SJMP $ END 2. 逻辑“或”运算程序 ORG 0000H MOV A,P0 ORL A,P2 MOV P1,A SJMP $ END 3.3.2控制程序
在利机 3.3.2控制程序 3.逻辑“异或”运算程序 ORG OOOOH Mov A PO XRL AP2 MOV P1.A SJMP S
3.3 任务四 利用单片机做逻辑运算 3. 逻辑“异或”运算程序 ORG 0000H MOV A,P0 XRL A,P2 MOV P1,A SJMP $ 3.3.2控制程序
在利机 33.3源程序的编辑、编译、下载 打开“伟福”模拟仿真软件进行程序的编辑、编译 1、正确选择单片机类型8751或8031 2、正确选择编译器一伟福编译器 3、选择模拟仿真功能 4、打开或新建文件进行编辑 5、编译 打开“ISP下载软件”将目标文件下载到ISP-4实验开发板上的 AT89S51单片机芯片,观察程序运行结果 、编译成功后打开下载软件 2、选择好单片机89S51并测试 3、打开伟福6000编译生成的BⅠN或HEX文件 4、选择自动写完成擦除、写、读、校验过程 5、观看运行结果
3.3 任务四 利用单片机做逻辑运算 3.3.3 源程序的编辑、编译、下载 打开“伟福”模拟仿真软件进行程序的编辑、编译。 1、正确选择单片机类型8751或8031 2、正确选择编译器-伟福编译器 3、选择模拟仿真功能 4、打开或新建文件进行编辑 5、编译 打开“ISP下载软件”将目标文件下载到ISP-4实验开发板上的 AT89S51单片机芯片,观察程序运行结果。 1、编译成功后打开下载软件 2、选择好单片机89S51并测试 3、打开伟福6000编译生成的.BIN或.HEX文件 4、选择自动写完成擦除、写、读、校验过程 5、观看运行结果
在利机 3.3.4相关知识 1、什么是逻辑运算指令?MCS-51有哪些逻辑运算指令? 逻辑运算和移位指令共有25条,有与、或、异或、求反、左右 移位、清0等逻辑操作,有直接、寄存器和寄存器间址等寻址方式 这类指令一般不影响程序状态字(PSW)标志。 循环移位指令(4条) 这4条指令的作用是将累加器中的内容循环左或右移一位,后 两条指令是连同进位位CY一起移位。 RL A 累加器A中的内容左移一位 RR A 累加器A中的内容右移一位 RLCA;累加器A中的内容连同进位位CY左移一位 RRCA;累加器A中的内容连同进位位CY右移一位
3.3 任务四 利用单片机做逻辑运算 3.3.4 相关知识 1、什么是逻辑运算指令?MCS-51有哪些逻辑运算指令? 逻辑运算和移位指令共有25条,有与、或、异或、求反、左右 移位、清0等逻辑操作,有直接、寄存器和寄存器间址等寻址方式。 这类指令一般不影响程序状态字(PSW)标志。 ➢循环移位指令(4条) 这4条指令的作用是将累加器中的内容循环左或右移一位,后 两条指令是连同进位位CY一起移位。 RL A ;累加器A中的内容左移一位 RR A ;累加器A中的内容右移一位 RLC A ;累加器A中的内容连同进位位CY左移一位 RRC A ;累加器A中的内容连同进位位CY右移一位
在利机 3.3.4相关知识 累加器半字节交换指令(1条) SWAP A;累加器中的内容高低半字节互换 求反指令(1条) CPLA;累加器中的内容按位取反 清零指令(1条) CLRA;0→(A),累加器中的内容清
3.3 任务四 利用单片机做逻辑运算 3.3.4 相关知识 ➢累加器半字节交换指令(1条) SWAP A ; 累加器中的内容高低半字节互换 ➢求反指令(1条) CPL A ; 累加器中的内容按位取反 ➢ 清零指令(1条) CLR A ; 0→(A),累加器中的内容清0
3.3任务四。利用机做逻辑算 3.3.4相关知识 逻辑与操作指令(6条) 这组指令的作用是将两个单元中的内容执行逻辑与操作。如果直接地 址是ⅣO地址,则为“读一修改一写”操作。 ANLA,data;累加器A中的内容和直接地址单元中的内容执行与逻 辑操作。结果存在寄存器A中。 ANL data.#data;直接地址单元中的内容和立即数执行与逻辑操作。 结果存在直接地址单元中。 ANLA#data;累加器A的内容和立即数执行与逻辑操作。结果存在 累加器A中。 ANLA,Rn;累加器A的内容和寄存器Rn中的内容执行与逻辑操作。 结果存在累加器A中。 aNL data,A;直接地址单元中的内容和累加器A的内容执行与逻辑 操作。结果存在直接地址单元中 ANLA@Ri;累加器A的内容和工作寄存器R指向的地址单元中的 内容执行与逻辑操作。结果存在累加器A中
3.3 任务四 利用单片机做逻辑运算 3.3.4 相关知识 ➢逻辑与操作指令(6条) 这组指令的作用是将两个单元中的内容执行逻辑与操作。如果直接地 址是I/O地址,则为“读—修改—写”操作。 ANL A,data ;累加器A中的内容和直接地址单元中的内容执行与逻 辑操作。结果存在寄存器A中。 ANL data,#data ;直接地址单元中的内容和立即数执行与逻辑操作。 结果存在直接地址单元中。 ANL A,#data ;累加器A的内容和立即数执行与逻辑操作。结果存在 累加器A中。 ANL A,Rn ;累加器A的内容和寄存器Rn中的内容执行与逻辑操作。 结果存在累加器A中。 ANL data,A ;直接地址单元中的内容和累加器A的内容执行与逻辑 操作。结果存在直接地址单元中。 ANL A,@Ri ;累加器A的内容和工作寄存器Ri指向的地址单元中的 内容执行与逻辑操作。结果存在累加器A中
3.3任务四。利用机做逻辑算 3.3.4相关知识 逻辑或操作指令(6条) 这组指令的作用是将两个单元中的内容执行逻辑或操作。如果直接地 址是ⅣO地址,则为“读一修改一写”操作。 ORLA,data;累加器A中的内容和直接地址单元中的内容执行逻辑 或操作。结果存在寄存器A中。 ORL data,#data;直接地址单元中的内容和立即数执行逻辑或操作。 结果存在直接地址单元中。 ORLA,#data;累加器A的内容和立即数执行逻辑或操作。结果存在 累加器A中。 ORLA,Rn;累加器A的内容和寄存器Rn中的内容执行逻辑或操作。 结果存在累加器A中。 ORL data,A;直接地址单元中的内容和累加器A的内容执行逻辑或 操作。结果存在直接地址单元中。 ORL A,@Ri;累加器A的内容和工作寄存器R指向的地址单元中的 内容执行逻辑或操作。结果存在累加器A中
3.3 任务四 利用单片机做逻辑运算 3.3.4 相关知识 ➢逻辑或操作指令(6条) 这组指令的作用是将两个单元中的内容执行逻辑或操作。如果直接地 址是I/O地址,则为“读—修改—写”操作。 ORL A,data ;累加器A中的内容和直接地址单元中的内容执行逻辑 或操作。结果存在寄存器A中。 ORL data,#data ;直接地址单元中的内容和立即数执行逻辑或操作。 结果存在直接地址单元中。 ORL A,#data ;累加器A的内容和立即数执行逻辑或操作。结果存在 累加器A中。 ORL A,Rn ;累加器A的内容和寄存器Rn中的内容执行逻辑或操作。 结果存在累加器A中。 ORL data,A ;直接地址单元中的内容和累加器A的内容执行逻辑或 操作。结果存在直接地址单元中。 ORL A,@Ri ;累加器A的内容和工作寄存器Ri指向的地址单元中的 内容执行逻辑或操作。结果存在累加器A中
3.3任务四。利用机做逻辑算 3.3.4相关知识 逻辑异或操作指令(6条) 这组指令的作用是将两个单元中的内容执行逻辑异或操作。如果直接 地址是O地址,则为“读—修改一写”操作 XRL Adata;累加器A中的内容和直接地址单元中的内容执行逻辑 异或操作。结果存在寄存器A中。 XRL data,#data;直接地址单元中的内容和立即数执行逻辑异或操 作。结果存在直接地址单元中 ⅩRLA,#data;累加器A的内容和立即数执行逻辑异或操作。结果存 在累加器A中。 XRL ARn;累加器A的内容和寄存器Rn中的内容执行逻辑异或操 作。结果存在累加器A中。 XRL data,A;直接地址单元中的内容和累加器A的内容执行逻辑异 或操作。结果存在直接地址单元中。 XRLA@Ri;累加器A的内容和工作寄存器R指向的地址单元中的 内容执行逻辑异或操作。结果存在累加器A中
3.3 任务四 利用单片机做逻辑运算 3.3.4 相关知识 ➢逻辑异或操作指令(6条) 这组指令的作用是将两个单元中的内容执行逻辑异或操作。如果直接 地址是I/O地址,则为“读—修改—写”操作。 XRL A,data ;累加器A中的内容和直接地址单元中的内容执行逻辑 异或操作。结果存在寄存器A中。 XRL data,#data ;直接地址单元中的内容和立即数执行逻辑异或操 作。结果存在直接地址单元中。 XRL A,#data ;累加器A的内容和立即数执行逻辑异或操作。结果存 在累加器A中。 XRL A,Rn ;累加器A的内容和寄存器Rn中的内容执行逻辑异或操 作。结果存在累加器A中。 XRL data,A ;直接地址单元中的内容和累加器A的内容执行逻辑异 或操作。结果存在直接地址单元中。 XRL A,@Ri ;累加器A的内容和工作寄存器Ri指向的地址单元中的 内容执行逻辑异或操作。结果存在累加器A中