任务五 学习、应用控制转移类指令 单片机应用技术 认知1 掌握无条件转移指令格式及应用

Slides:



Advertisements
Similar presentations
第7章 AT89S51单片机的 串行口 1.
Advertisements

本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
第四章 指令系统及汇编语言程序设计.
8051 指令.
第4章 MCS-51程序设计 4.1 汇编语言的格式与伪指令 4.2 汇编语言程序设计步骤 4.3 查表程序设计 4.4 循环程序设计
基本程式範例.
第四章 指令系统及汇编语言程序设计.
本章分为四节,主要介绍: 4.1 程序编制的方法和技巧 4.2 源程序的编辑和汇编 4.3 基本程序结构 4.4 常用程序举例.
项目2 2个LED发光二极管控制 知识与能力目标 熟悉单片机的I/O口功能与特性。
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
本章小结 C51单片机指令系统概述 C51单片机寻址方式 C51单片机指令系统
第3章 MCS-51指令系统 3.1 简 介 指令概述 一台微机所具有的所有指令的集合,就构成了指令系统。指令系统越丰富,说明CPU的功能越强。例如,Z80 CPU中,没有乘法和除法指令,乘法和除法运算必须用软件来实现,因此执行速度相对较慢;而MCS-51单片机提供了乘法和除法指令,实现乘法和除法运算时就要快得多。
单片机原理与应用.
第2章 MCS-51单片机指令系统与汇编语言程序设计
单片机原理与应用.
報告者:朱耿育 紀翔舜 組員:詹以群 張永傑 指導老師:梁新潁
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
第二部分 微机原理 第4章 汇编语言 程序设计 主讲教师:喻红.
单片机应用技术 项目一 循环彩灯装置 第6讲 指令功能及汇编语言程序设计(一) 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口.
第四章 指令系统及汇编语言程序设计.
本章分为七节,主要介绍: 3.1 指令格式及常用符号 C51的寻址方式 3.3 数据传送类指令(29条) 3.4 算术运算类指令(24条)
第二部分 微机原理 第3章 MCS-51的 指令系统 主讲教师:喻红.
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
单片机应用技术 项目二 电子打铃装置 第1讲 指令功能及汇编语言 程序设计(二) 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
第3章 AT89C51指令系统 3.1基本概念内部结构和引脚功能 指令、指令系统、机器代码
逻辑运算类指令 包括与、或、非、异或、清0及移位等共24条;一般不影响PSW中的标志位;助记符有:ANL、ORL、XRL、RL、RLC、RR、RRC、CLR和CPL共9种。 一、逻辑与指令 ANL A,Rn ;A←(A)∧( Rn) ANL A,direct;A←(A)∧(direct)
单片机原理及应用 MCS-51系列单片机的基本硬件结构 MCS-51指令系统 MCS-51单片机的系统扩展与应用.
第七章 MCS-51并行口的扩展 MCS51单片机内部有4个并行口,当内部并行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2类:不可编程的并行口芯片(74LS3734和74LS245)和可编程的并行口芯片(8255)。 7.1 不可编程并行口芯片的扩展 7.2 可编程并行口芯片的扩展.
第2章 单片机的结构原理与 简单应用 (课时:10学时).
第八章 MCS-51与数码显示器和键盘的接口 一、MCS-51与数码显示器接口 数码显示器是单片机应用产品中最常用的廉价的输 出设备,它由8个发光二极管按一定规律排列而成, 当某一发光二极管导通时,则会被点亮,控制不同 组合的二极管导通,就能显示出各种字符。 1.显示器的结构.
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
单片机原理 单 片 机 单片机接口技术 单片机应用技术.
第三章 指令系统.
第3章 指令系统及程序设计举例 3.1 指令格式与寻址方式 一、指令格式 1. 指令 操作码 目标操作数,源操作数
第四章 汇编语言程序设计.
第10章 综合实训 课题一 水温控制系统设计 一、实训目的 二、课题要求 熟悉常用温度传感器AD590的特性及接口电路的设计方法;
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
本 章 重 点 单片机的结构特点 单片机的存储器特点 I/O端口的特点 CPU时序 课时安排:3个课时.
第四章 指令系统及汇编语言程序设计.
第四章 指令系统及汇编语言程序设计.
第3章 MCS-51单片机指令系统 3.1 指令概述 3.2 寻址方式 3.3 MCS-51系列单片机的指令系统.
数码管数字时钟电路的设计 1. 系统硬件电路的设计
第3章 MCS-51指令系统 介绍MCS—51系列单片机的寻址方式 介绍MCS—51系列单片机的指令系统
第4章 80C51系列指令系统 教学目的:熟悉80C51系列单片机的寻址方式及 每一种寻址方式对应的寻址空间;掌 握每一条指令功能。
第3章 MCS-51的指令系统 介绍MCS-51汇编语言的指令系统。 3.1 指令系统概述
本章内容 MCS-51单片机指令系统的格式 MCS-51单片机寻址方式 指令系统的分析
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
3.1 指令系统简介 一、几个概念 二、汇编语言指令格式 三、指令的分类 四、指令的符号说明 主讲:吴政江 下一页.
第三章 计算机系统的组成与工作原理.
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
College of Computer Science & Technology
四、手工汇编 完成汇编的方法有两种:手工汇编和汇编程序汇编 1.手工汇编步骤 A
单片机应用技术 项目一 循环彩灯装置 第5讲 MCS-51单片机指令系统及指令格式 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
单片机原理与应用.
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
简单芯片扩展I/O接口 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
循环程序设计 在程序中包含重复执行的程序段称为循环程序设计。循环程序可以使程序结构性强、可读性好,从而大大提高了程序质量。
4.3 汇编语言程序设计 顺序程序设计 顺序程序设计是最基本的程序设计。它是按照指令排列的先后顺序依次执行,每条指令都必须执行,且只执行一遍。顺序程序设计一般比较单一、简单,常常作为复杂程序的一部分。
单片机应用技术 (C语言版) 第3章 MCS-51指令系统及 汇编程序设计
第二章 MCS-51单片机程序设计 第一章 8086程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
认知1 掌握“与”、“或”和“异或”指令格式及应用
第3章 80C51单片机指令系统 教学基本要求: (1)、了解单片机的指令系统、编程语言等基本概念;
第4章 MCS-51汇编语言程序设计 教学基本要求: (1)、了解MCS-51汇编语言程序设计的特点;
第1章 微型计算机基础.
Presentation transcript:

任务五 学习、应用控制转移类指令 单片机应用技术 认知1 掌握无条件转移指令格式及应用 任务五 学习、应用控制转移类指令 上午2时28分 认知1 掌握无条件转移指令格式及应用 通常情况下,程序运行都是按顺序执行的,有时因为操作需要,需要 改变程序的运行方向,即安排程序跳转到其它指定地址去,这就是程序转 移。控制转移类指令的本质是改变程序计数器PC的内容,从而改变程序的 执行方向。控制转移指令分为:无条件转移指令、条件转移指令和调用/返 回指令等,共计17条。转移类指令包含有条件转移和无条件转移两种 1、无条件转移指令 (1)、长转移指令 LJMP addr16 ; addr16→PC 功能:程序跳转到addr16目的地址的地方执行。 用法: addr16表示16位目的地址,通常用字符串代替;字符串一定 要成对出现。 注意:LJMP 为长转移指令,寻址范围是ROM的64K全程空间,即 字符串可以放在ROM的任何地方,LJMP都是可以寻址的。

任务五 学习、应用控制转移类指令 单片机应用技术 认知1 掌握无条件转移指令格式及应用 (2)绝对转移指令 任务五 学习、应用控制转移类指令 上午2时28分 认知1 掌握无条件转移指令格式及应用 (2)绝对转移指令 AJMP addr11 ; (PC)+2→PC, ddr11→PC1010-0 功能:程序跳转到addr11目的地址的地方执行。 用法: addr11表示11位目的地址,通常用字符串代替;字符串一定要成 对出现。 注意:AJMP 为绝对转移指令,寻址范围是本指令执行结束后开始的 ROM的2K空间,即字符串可以放在ROM的本指令执行结束后2K范围内, AJMP都是可以寻址的。换句话说,在AJMP本指令执行后(即PC+2后) ,用目的地址的低11位地址和指令本指令高5位地址组成的新地址,就是该 AJMP指令的最终转移地址 。

AJMP addr11 ; PC+2PC, addr11 PC.10~PC.0 单片机应用技术 任务7 学习、应用控制转移类指令 上午2时28分 认知1 掌握无条件转移指令格式及应用 AJMP addr11 ; PC+2PC, addr11 PC.10~PC.0 操作码(第一字节) 操作数(第二字节) A10 A9 A8 1 A7 A6 A5 A4 A3 A2 A1 A0 程序计数器PC PC高5位 (保持不变) PC低11位 11位转移地址的形成示意图

任务7 学习、应用控制转移类指令 单片机应用技术 认知1 掌握无条件转移指令格式及应用 3、 相对转移指令 任务7 学习、应用控制转移类指令 上午2时28分 认知1 掌握无条件转移指令格式及应用 3、 相对转移指令 SJMP rel ; (PC)+2+rel→PC 功能:程序跳转到rel目的地址的地方执行。 用法: rel表示8位目的地址,通常用字符串代替;字符串一定要成对 出现。 注意:SJMP 为相对转移指令,寻址范围是本指令的下一条指令为中心的-128~+127字节以内,即字符串可以本指令结束的-128~+127字节范围内,S JMP都是可以寻址的。(4) 散转指令 4、 散转指令 JMP @A+DPTR ; (A)+(DPTR) →PC 功能:程序跳转到(A+DPTR)目的地址的地方执行。 由于累加器A和数据指针DPTR都可以赋值,因此使用很灵活;一般用于 多重分支场合,通常做键处理功能。

任务7 学习、应用控制转移类指令 单片机应用技术 认知2 掌握有条件转移指令格式及应用 任务7 学习、应用控制转移类指令 上午2时28分 认知2 掌握有条件转移指令格式及应用 所谓有条件转移指令是指当条件满足试,就转移执行,条件不满足 就顺序执行。 1. 累加器判断转移指令 (2条) JZ rel ; 若A=0, 则PC+2+rel→PC, 程序转移执行 若A≠0, 则PC+2→PC, 程序顺序执行 JNZ rel ; 若A≠0, 则PC+2+rel→PC, 程序转移执行 若A=0, 则PC+2→PC, 程序顺序执行 这两条指令均是以累加器A的内容作为判别条件的,而且是互反指令 ,使用时要注意。Rel为地址偏移量,编程时可以用字符串代替,但一定 要成对出现,而且一定要放在本指令结束的-128~+127字节范围内。

任务7 学习、应用控制转移类指令 单片机应用技术 认知2 掌握有条件转移指令格式及应用 任务7 学习、应用控制转移类指令 上午2时28分 认知2 掌握有条件转移指令格式及应用 【例3-23】试编程将内RAM以30H开始的数据块传送到外RAM40HA开始 的单元中,遇0中止。 分析:这是一个条件判断的传送数据块程序,是否传送取决于累加器A中的 值。因此判断是传送的前提,就用到累加器判断转移指令。详细如下: 源程序:MOV R0, #30H ;定义取数的首地址 MOV R1, #40H ;定义放数的首地址 MP3: MOV A, @R0 ;取数到累加器A中 JZ LOOP ;判断累加器A中值是否为0, 是0转移到结束 MOVX @R1, A ;将数据送到指定单元 INC R0 ;构造新的取数单元 INC R1 ;构造新的放数单元 SJMP MP3 ;返回重新判断 LOOP: SJMP $ ;程序原地等待

任务五 学习、应用控制转移类指令 单片机应用技术 认知2 掌握有条件转移指令格式及应用 2. 比较不等转移指令 (4条) 任务五 学习、应用控制转移类指令 上午2时28分 认知2 掌握有条件转移指令格式及应用 2. 比较不等转移指令 (4条) CJNE A, #data, rel ; 若(A)=data, 则PC+3→PC,顺序执行,且Cy=0; 若(A)<data, 则PC+3+rel→PC,转移执行,且 Cy=1; 若(A)>data, 则PC+3+rel→PC,转移执行,且 Cy=0 CJNE A, direct, rel ; 若(A)=(direct), 则PC+3→PC,顺序执行,且Cy=0; 若(A)<(direct),则PC+3+rel→PC,转移执行,且 Cy=1; 若(A)>(direct),则PC+3+rel→PC,转移执行,且 Cy=0 CJNE Rn, #data, rel ; 若(Rn)=data, 则PC+3→PC,顺序执行,且Cy=0; 若(Rn)<data, 则PC+3+rel→PC,转移执行,且 Cy=1; 若(Rn)>data, 则PC+3+rel→PC,转移执行,且 Cy=0 CJNE @Ri, #data, rel ; 若((Ri))=data, 则PC+3→PC,顺序执行,且Cy=0; 若((Ri))<data, 则PC+3+rel→PC,转移执行,且 Cy=1; 若((Ri))>data, 则PC+3+rel→PC,转移执行,且 Cy=0

任务五 学习、应用控制转移类指令 单片机应用技术 认知2 掌握有条件转移指令格式及应用 任务五 学习、应用控制转移类指令 上午2时28分 认知2 掌握有条件转移指令格式及应用 【例3-24】已知内RAM30H单元存放一自变量X,试编程求下列函数的值Y,并将结果送到内RAM40H单元中。函数表达式如下: 源程序: MOV A, 30H ;读取自变量X到A中 JNZ MP3 ;判断自变量X不等于0 MOV 40H, #00H ;自变量X等于0,送0到40H单元中 SJMP $ MP3: ANL A, #80H ; 自变量X与立即数80H相“与”,是看符号 JNZ MP4 ; 与立即数80H相“与”,结果不是0为负数 MOV 40H, #01H ; 与立即数80H相“与”,结果是0是正数, SJMP $ ;返回重新判断 MP4: MOV 40H, #0FFH ;是负数,将-1的补码0FFH送到40H SJMP $ ;程序原地等待

任务五 学习、应用控制转移类指令 单片机应用技术 认知2 掌握有条件转移指令格式及应用 3. 减1条件转移指令 (2条) 任务五 学习、应用控制转移类指令 上午2时28分 认知2 掌握有条件转移指令格式及应用 3. 减1条件转移指令 (2条) DJNZ Rn, rel ; (Rn)-1→Rn, 若(Rn)≠0,则PC+2+rel→PC, 转移执行 若(Rn)=0, 则PC+2→PC, 顺序执行 DJNZ direct, rel; (direct)-1→direct, 若(direct)≠0,则PC+2+rel→PC, 转移执行 若(direct)=0, 则PC+2→PC, 顺序执行 功能:指令的操作数是先将操作数(Rn或者direct)的内容减1,并保存减1的结果,如果减1后的结果不等0就转移,否则就顺序。 注意: (1)DJNZ指令通常用于循环程序中控制循环次数。 (2)转移范围与SJMP指令相同。 (3)DJNZ指令在进行循环次数判断时,有两种情况:即先判断和先执行;当先判断时,定义次数时,N=n+1;当先执行时,N=n

任务7 学习、应用控制转移类指令 单片机应用技术 认知2 掌握有条件转移指令格式及应用 任务7 学习、应用控制转移类指令 上午2时28分 认知2 掌握有条件转移指令格式及应用 【例3-25】试编程将内RAM以30H开始的10B个无符号数相加,并 将结果送到内RAM50H单元中。(设结果小于100H) 分析:该题是求和,而且数据是10个,可以采用控制数据个数来完 成相加求和,详细如下: 源程序: MOV R0, #30H ;定义求和的首地址 MOV R7, #0AH ; 定义求和的数据个数 MOV A, #00H MP3: ADD A, @R0 ; 求和运算 INC R0 DJNZ R7, MP3 ; 判断数据是否相加完毕 MOV 40H, A ;将结果送到40H中

认知3 掌握子程序调用及返回指令和空操作指令格式及应用 单片机应用技术 任务7 学习、应用控制转移类指令 上午2时28分 认知3 掌握子程序调用及返回指令和空操作指令格式及应用 1. 子程序调用和返回指令(4条) (1)调用指令(2条) LCALL addr16 ;(PC)+3→PC (SP)+1→SP,, PC0-7→(SP) (SP)+1→SP, PC8-15→(SP) addr16→PC ACALL addr11 ;(PC)+2→PC (SP)+1→SP, PC0-7→(SP) (SP)+1→SP, PC8-15→(SP) addr11→PC10-0 功能:调用指令是程序自动调用子程序,运行子程序后并返回主程序过程。 注意: (1)addr16和addr11就是子程序的地址,在编程时可以用字符串代替,且成对出现,出现的范围和LJMP和AJMP的相同。 (2)主程序在调用时,首先要进行断点保护,然后再构造目的地址,最后调用。 (3)使用子程序调用时,应在主程序中设置堆栈指针SP的值。

认知3 掌握子程序调用及返回指令和空操作指令格式及应用 单片机应用技术 任务7 学习、应用控制转移类指令 上午2时28分 认知3 掌握子程序调用及返回指令和空操作指令格式及应用 (2)返回指令(2条) 子程序返回指令RET RET ; ((SP))→(PC)15-8 ,(SP)-1→SP ((SP))→(PC)7-0 (SP)-1→SP (3)中断返回指令RET(1条) RETI ; ((SP))→(PC)15-8 ,(SP)-1→SP 功能:都是返回指令,其实质都是从堆栈中自动恢复断点进入PC实现。 注意: (1)RET和RETI都是返回指令,都是在子程序或者中断服务程序的最后一句。 (2)RET是子程序返回,RETI是中断返回。 (3)该指令结果不影响程序状态字寄存器PSW。

认知3 掌握子程序调用及返回指令和空操作指令格式及应用 单片机应用技术 任务五 学习、应用控制转移类指令 上午2时28分 认知3 掌握子程序调用及返回指令和空操作指令格式及应用 【例3-26】 试编程实现c=a2+b2 设 a、b、c(a、b均小于10)分别存放于内RAM的30H、31H、和32H中。 分析:该题实现平方和,可以采用乘法指令,也可以采用调用指令(a2 和b2 有相同的运算法则),现采用查表和子程序相结合的方法实现该功能。详细如下: 源程序: MOV A, 30H ; 将a送到累加器A中 LCALL SQR ;调用以SQR为标示符的子程序 MOV R1, A ;将a2 的值暂存到R1中 MOV A, 31H ; 将b送到累加器A中 ADD A, R1 ;实现a2+b2 MOV 32H, A ;将结果送到32H中 SJMP $ SQR: INC A ;获得参数a MOVC A, @A+PC ;查表计算平方值 RET TAB: DB 0,1,4,9,16,25,36,49,64,91 END

任务7 学习、应用位操作指令 单片机应用技术 1. 位传送指令(2条) MOV C, bit ;(bit)→Cy 任务7 学习、应用位操作指令 上午2时28分 1. 位传送指令(2条) MOV C, bit ;(bit)→Cy MOV bit, C ;(Cy)→bit 2. 位置位、清零、取反指令(6条) SETB C ; 1→Cy CLR bit ; 0→bit CPL C ; →cy SETB bit ; 1→bit CLR C ; 0→Cy CPL bit ;→bit 3. 位运算指令(4条) ANL C, bit ;(Cy)∧( bit)→Cy ANL C, /bit ;(Cy)∧→Cy ORL C, bit ;(Cy)∨( bit)→Cy ORL C, /bit ;(Cy)∨→Cy

任务7 学习、应用位操作指令 单片机应用技术 4、位控制转移指令(5条) 任务7 学习、应用位操作指令 上午2时28分 4、位控制转移指令(5条) JC re ; 若(Cy)=1,则PC+2+rel→PC,程序转移执行; 若(Cy)=0,则PC+2→PC,程序顺序执行 JNC rel ;若(Cy)=0,则PC+2+rel→PC,程序转移执行; 若(Cy)=1,则PC+2→PC,程序顺序执行 JB bit, rel ;若(bit)=1,则PC+3+rel→PC,程序转移执行; 若(bit)=0,则PC+3→PC,程序顺序执行 JNB bit, rel; 若(bit)=0,则PC+3+rel→PC,程序转移执行; 若(bit)=1,则PC+3→PC,程序顺序执行 JBC bit, rel;若(bit)=1,则PC+3+rel→PC,程序转移执行 且 0→bit;