MCS-51 系列单片机指令系统——技能实训(课件)-《单片机技术与应用》(高教版第二版) 同步精品课堂
|
26页
|
104人阅读
|
1人下载
精品
内容正文:
单片机技术与应用
-第16课时-
高教版第二版
MCS-51 系列单片机指令系统
——技能实训
教学目标
掌握单片机控制 8 个发光二极管单灯左移右移的硬件电路设计和程序实现
理解 MCS - 51 系列单片机指令系统的分类、特点和格式
掌握各类指令(数据传送、算术运算、逻辑运算、控制转移、位操作)的功能和特点
教学重难点
单片机控制发光二极管的硬件电路和程序设计
MCS - 51 系列单片机指令系统的分类和各类指令的功能
各类指令在实际程序中的灵活运用
让我们一起开启单片机的学习之旅。
导入新课
在单片机应用中,控制发光二极管实现各种显示效果是常见的任务。
结合之前学习的硬件知识和指令系统来思考一下,视频中控制小灯左右移动涉及到了哪些指令?
如何利用所学的指令在单片机中控制 8 个发光二极管实现单灯左移右移呢?
让我们一起开启单片机的学习之旅。
新知讲授
实训任务
单片机控制 8 个发光二极管单灯左移右移(广告灯)。
设计依据
此前已经学习了最小系统等硬件知识以及指令系统。在相关课程中已学习发光二极管的发光原理和驱动电路。
MCS-51 系列单片机指令系统——技能实训
【软件实现】
1.编程实现点亮一个发光二极管的程序。
2.编程实现P2口连接的8只LED灯交替闪烁。
新知讲授
MCS-51 系列单片机指令系统——技能实训
硬件电路图
连接方法:P2.0-P2.7采用“拉电流”方式连接8只LED灯,LED的阴极通过保护电阻连接到地端。
【硬件要求】
新知讲授
任务分析
在图中,P1口连接8只发光二极管,LED1~LED8分别接到P1.0~P1.7 上,8只发光二极管为共阴极。输出1发光二极管点亮,输出0发光二极管熄灭。电路开始运行,按照 LED1→LED2→LED3→ …→LED8→LED7→LED6→LED5→ …→LED1顺序依次点亮,重复循环下去。
MCS-51 系列单片机指令系统——技能实训
新知讲授
MCS-51 系列单片机指令系统——技能实训
任务逻辑功能
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 说明
LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1
0 0 0 0 0 0 0 1 LED1亮
0 0 0 0 0 0 1 0 LED2亮
0 0 0 0 0 1 0 0 LED3亮
0 0 0 0 1 0 0 0 LED4亮
0 0 0 1 0 0 0 0 LED5亮
0 0 1 0 0 0 0 0 LED6亮
0 1 0 0 0 0 0 0 LED7亮
1 0 0 0 0 0 0 0 LED8亮
新知讲授
MCS-51 系列单片机指令系统——技能实训
元件清单
名称 型号 单位 数量
单片机芯片 AT89C51 片 1
电源 5V 块 1
晶振 12MHz 只 1
瓷片电容 22 pF 只 2
电解电容 10 μF 只 1
碳膜电阻 10kΩ2 只 1
轻触按键 只 2
碳膜电阻 1kΩ 只 8
发光二极管 红色 只 8
新知讲授
源程序 - 整体框架
MCS-51 系列单片机指令系统——技能实训
ORG 0000H
LOOP2:MOV RO,#7
MOV R1,#7
MOV A,#01H
LOOP: MOV P0,A
LCALL DELAY
RL A
DJNZ RO,LOOP
MOV A,#80H
LOOP1:MOV PO,A
LCALL DELAY
RR A
DJNZ R1,LOOP1
伪指令,起始地址
设置循环次数
点亮LED1
左移,依次点亮
点亮LED8
右移,依次点亮
LJMP LOOP2
DELAY:MOV R5,#02H
DEL1: MOV R6,#0FOH
DEL2: MOV R7,#0FOH
DEL3: DJNZ R7,DEL3
DJNZ R6,DEL2
DJNZ R5,DEL₁
RET
END
跳到程序开始, 一直循环下去
延时子程序
子程序返回
伪指令,汇编源程序结束标志
新知讲授
【源程序--初始化部分】
MCS-51 系列单片机指令系统——技能实训
ORG 0000H ; 伪指令,起始地址
LOOP2:MOV RO,#7 ; 设置左移循环次数
MOV R1,#7 ; 设置右移循环次数
MOV A,#01H ; 点亮LED1
【源程序--循环和延时部分】
LJMP LOOP2 ; 跳到程序开始,一直循环下去
DELAY:MOV R5,#02H
DEL1: MOV R6,#0FOH
DEL2: MOV R7,#0FOH
DEL3: DJNZ R7,DEL3
DJNZ R6,DEL2
DJNZ R5,DEL₁
RET ; 子程序返回
END ; 伪指令,汇编源程序结束标志
新知讲授
【源程序--右移部分】
MCS-51 系列单片机指令系统——技能实训
MOV A,#80H ; 点亮LED8
LOOP1:MOV PO,A
LCALL DELAY
RR A ; 右移,依次点亮
DJNZ R1,LOOP1 ; 判断右移循环是否结束
【源程序--左移部分】
LOOP: MOV P0,A
LCALL DELAY ; 调用延时子程序
RL A ; 左移,依次点亮
DJNZ RO,LOOP ; 判断左移循环是否结束
新知讲授
MCS-51系列单片机指令系统——拓展训练
1. 编写程序完成以下功能:单片机控制8个发光二极管,前后4个发光二极管交替闪烁, 时间间隔1s。
2. 编写程序完成以下功能:单片机控制8个发光二极管,单灯左移4次,接着单灯右移4 次,依次循环下去,时间间隔0.5s。
拓展训练
新知讲授
特点
MCS - 51 系列单片机指令系统功能强、指令短、执行快。
分类
从功能上可分为数据传送、算术运算、逻辑操作、控制转移、位操作共 5 大类;
从空间属性上可分为单字节指令(49 条)、双字节指令(46 条)和三字节指令(16 条);
从时间属性上可分为单机器周期指令(64 条)、双机器周期指令(45 条)和 4 机器周期的指令(乘、除法 2 条)。
知识归纳 - 单片机的指令系统
指令格式
[标号:] 操作码助记符 [目的操作数][, 源操作数] … [; 注释]
新知讲授
单片机的寻址方式
所谓寻址方式,就是 CPU 执行一条指令时怎样找到该指令所要求的操作数的方式。单片机共 7 种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址及位寻址。
数据传送类指令
数据传送类指令有 29 条,是指令系统中使用频繁的一类指令,属于 “复制” 类型,而非 “搬家”。
包括访问片内数据存储器的一般数据传送指令 (MOV)、 访问片内特殊传送指令 (PUSH、POP、XCH、XCHD、SWAP)、 访问片外数据存储器的数据传送指令 (MOVX) 和访问程序存储器的数据传送指令 (MOVC)。
知识归纳 - 单片机的寻址方式
新知讲授
数量和功能
共有 24 条指令,包括加法指令 (ADD)、 带进位加法指令 (ADDC)、 带借位减法指令 (SUBB) 、 加 1 指令 (INC) 、 减 1 指令 (DEC) 、 乘法指令 (MUL) 、 除法指令 (DIV) 及十进制调整指令 (DA),主要完成加、减、乘、除运算,以及增量、减量和二 - 十进制调整操作。
标志位影响
算术运算结果将影响进位标志 CY、半进位标志 AC、 溢出标志 OV。
加减法运算结果将影响 CY 、AC 、OV,乘除运算只影响 CY 、OV。
只有加 1 和减 1 指令不影响这三种标志。
奇偶标志 P 要由累加器 A 的值来确定。
知识归纳 - 算术运算类指令
新知讲授
数量和功能
共 24 条,其中逻辑指令有与 (ANL)、 或 (ORL)、 异 或 (XRL)、 累加器 A 清 0 (CLR) 和求反 (CPL) 等 20 条,移位指令有 4 条。
特点
累加器 A 清 0 和取反、移位指令都是针对累加器 A 进行操作的单操作数指令。
与、或、异或操作指令除操作码助记符不同外,后跟两个操作数的寻址方式组合完全相同,且有一部分寻址方式组合与加、减法指令相同。
这类指令不影响程序状态字寄存器 PSW 中的算术标志位,只有带进位循环移位指令才影响 CY,所有逻辑运算均按位进行。
知识归纳 - 逻辑运算类指令
新知讲授
数量和功能
共有 17 条,可分为无条件转移指令 (AJMP 、LJMP 、SJMP 、JMP)、 条件转移指令 (JZ 、JNZ 、CJNE 、DJNZ)、子程序调用及返回指令 (ACALL 、LCALL 、RET 、RETI) 和空操作指令 (NOP)。
功能和标志位影响
能实现程序向前、向后转移,根据条件实现分支运行、循环运行及调用子程序等。
除 CJNE 指令对 CY 有影响外,其余指令都不影响标志位。
知识归纳 - 控制转移类指令
新知讲授
操作对象
以位为单位进行运算和操作,以位累加器(借用进位标志 CY)为中心展开,操作对象是内部 RAM 的位寻址区(字节地址为 20H - 2FH 单元中连续的 128 位,位地址为 00H - 7FH)以及 SFR 中可以进行位寻址的各位。
分类
包括位传送指令、位逻辑操作指令、位状态控制指令、位条件转移指令。
知识归纳 - 位操作类指令
随堂检测1
单片机控制 8 个发光二极管单灯左移右移的程序中,左移和右移分别使用了什么指令?
答案:左移使用了 RL A 指令,右移使用了 RR A 指令。
MCS - 51 系列单片机指令系统从功能上可分为哪几类?
答案:可分为数据传送、算术运算、逻辑操作、控制转移、位操作共 5 大类。
练一练
随堂检测2
数据传送类指令属于 “复制” 类型还是 “搬家” 类型?
答案:数据传送类指令属于 “复制” 类型,而不是 “搬家”。
算术运算类指令中,哪些指令不影响进位标志 CY、半进位标志 AC、
溢出标志 OV?
答案:加 1 指令(INC)和减 1 指令(DEC)不影响进位标志 CY、半进位标志 AC、溢出标志 OV。
练一练
随堂检测3
逻辑运算类指令中,哪些指令是针对累加器 A 进行操作的单操作数指令?
答案:累加器 A 清 0(CLR)、求反(CPL)和移位指令是针对累加器 A 进行操作的单操作数指令。
控制转移类指令中,哪些属于无条件转移指令?
答案:无条件转移指令有 AJMP、LJMP、SJMP、JMP。
练一练
随堂检测4
位操作类指令的操作对象有哪些?
答案:位操作类指令的操作对象是内部 RAM 的位寻址区,即字节地址为 20H - 2FH 单元中连续的 128 位(位地址为 00H - 7FH),以及 SFR 中可以进行位寻址的各位。
常用伪指令中,ORG 和 END 的作用分别是什么?
答案:ORG 的作用是规定其后目标程序或数据块的起始地址;END 是汇编语言源程序的结束标志,END 之后的指令不予处理。
练一练
师生互动
1
请各小组讨论,在实际编程中,如何根据不同的任务需求选择合适的指令和寻址方式,以及如何合理运用伪指令来优化程序结构。
课题小结
1. 单片机控制 8 个发光二极管单灯左移右移
MCS-51 系列单片机指令系统
——技能实训
硬件电路图
任务分析
任务逻辑功能
元件清单
源程序 - 整体框架
源程序 - 逐行解析
单片机的指令系统
单片机的寻址方式
数据传送类指令
算术运算类指令
逻辑运算类指令
控制转移类指令
位操作类指令
2. 知识归纳
谢谢观看
THANKS
UTC 2025-09-12 05:20:52
Lavf58.76.100
$