当前课程知识点:单片机原理及应用 >  4 汇编语言程序设计 >  4.7 多重分支结构 >  多重分支结构

返回《单片机原理及应用》慕课在线视频课程列表

多重分支结构在线视频

多重分支结构

下一节:单重循环结构

返回《单片机原理及应用》慕课在线视频列表

多重分支结构课程教案、知识点、字幕

同学

你好

前面我们学习了单重分支程序的编写

今天

我们来学习一下多重分支程序设计的方法

我们可以多次使用条件转移指令

形成两个以上的判断框

从而形成多重分支结构

下面我们就可以按照这种思路来

看一道这个例题

例题是求

符号函数Y等于SGN括号X

设变量X

是在内部RAM地址50H的单元中存放

变量Y是什么

是在内部RAM的51H的地址单元存放

具体Y的取值情况是

如果X大于零

Y要等于1

当X如果等于0

Y就等于0

当X小于零时

Y要取负1

程序的逻辑

这个结构图如我们这个图所示

首先我们要判断一下

X是否为零

为零的话则Y等于0

否则再次判断X是否小于零

如小于零

则Y就等于负1

否则的话Y等于1

至此所有程序都已考虑完全

最后就是保存Y的结果

从这个逻辑程序框图中

我们可以看出需要进行两次判断

我们可以用两条条件转移指令来实现

具体程序中我们看看具体程序

首先MOV指令把存放在片内RAM

50H单元的数据X先送到A

然后再用指令JZ L1进行判0转移

该指令的功能是首先判断

累加器A的内容是否为零

如果为零

就跳到标号为L1的指令数去执行

如果A不为零就顺序执行后面的

JB ACC.7,L0的指令

该条指令为判位转移指令

CPU会判断累加器A中的最高位

第七位是否为1

为1就转到标号L0处的指令

不为1就顺序执行

后面的MOV A,#01H指令

同学们你可以根据程序的注释

对照这个逻辑框图

仔细地分析该段程序

体会一下多重分支程序的设计方法

前面我们介绍的是三重分支程序

我们利用了两条条件转移指令

就实现了三重分支

对于更多重的分支

比如说像我们PPT中的

N重分支的情况

这种情况下

我们可以按分支号转移的方法来设计

例如当分支号等于0时

程序要转移到L0处去执行

相关的程序

当分支号等于1时

程序要转移到L1处

依次类推

分支转移指令我们可以用AJMP或LJMP

对于AJMP指令

应当将分支号乘以二

转移的范围的话是2kB的范围

对于LJMP指令

应将分支号乘以三

转移的范围是64KB

为什么AJMP乘以二 LJMP乘以三

因为AJMP本身这条指令

会用两个单元来存放

LJMP这是一个三次解指令

在ROM中会用三次节来存放

所以对应的分支号一个要乘以二

一个要乘以三

下面我们可以来看另外一道例题

来说明一下如何按照分支号的方式

来进行多重分支程序的设计

例如假定键盘上有三个操作键

功能说明如我们的PPT中的表中所示

读数据键的键值为一

对应的处理程序为L0

写数据键的键值为二

对应的处理程序为L1

插入键的键值为三

对应的处理程序为L2

当我们按下相应的键按下时

我们可以在累加器A中获得该键的键值

并转移到相应的处理程序去执行

相关的处理程序

程序中的分支转移指令我们用的是AJMP

我们也说过

该条指令是一条双字节指令

需要用ROM的两个单元来存放

为了能够按照A中的键值进行分之号转移

首先我们在程序中要把A中的键值乘以二

再用JMP @ A+DPTR指令

实现按键指跳到相应的分支转移指令数

再由分支转移指令AJMP实现

进一步的跳转到各自的处理程序

同学们

你可以根据程序的注释

仔细的分析该段程序

体会一下按照分支号转移的方式

实现多重分支程序设计的内涵

好的

今天我们主要的介绍了一下

多重分支程序的设计

我们主要介绍了两种方法

第一种方法是多次使用条件转移指令

来实现多重分支程序的设计

第二种方法的话是按照分支号

加上无条件转移指令的方式来进行

多重分支程序的设计

请同学们下来之后仔细的体会

这两种方式设计多重分支程序的内涵

要能够在今后的程序中熟练地运用

这两种方式来进行多重分支程序的编写

好的

今天课就到这里

同学们再见

单片机原理及应用课程列表:

1 单片机系统概述

-1.1 单片机的名称

--单片机的名称

-1.2 单片机的相关概念

--单片机的相关概念

-1.3 单片机的设计语言及软件

--单片机的设计语言及软件

-1.4 单片机的发展

--单片机的发展

-1.5单片机的应用

--单片机的应用

-1.6 第一单元作业

2 单片机的硬件结构

-2.1 单片机的结构框图

--单片机的结构框图

-2.2 80C51内部结构

--80C51内部结构

-2.3 信号引脚

--信号引脚

-2.4 内部数据存储器RAM

--内部数据存储器RAM

-2.5 特殊功能寄存器

--特殊功能寄存器

-2.6 堆栈

--堆栈

-2.7 内部程序存储器ROM

--内部程序存储器ROM

-2.8 存储器的结构特点

--存储器的结构特点

-2.9 并行输入输出接口电路

--并行输入输出接口电路

-2.10 并口功能与时序

--并口功能与时序

-2.11 工作方式

--工作方式

-2.12 最小应用系统

-- 最小应用系统

-2.13 第二单元作业

3 指令系统

-3.1 指令格式

--指令格式

-3.2 立即寻址与直接寻址

--立即寻址与直接寻址

-3.3 寄存器寻址与寄存器间接寻址

--寄存器寻址与寄存器间接寻址

-3.4 变址间接寻址与位寻址

--变址间接寻址与位寻址

-3.5 内部RAM传送指令

--内部RAM传送指令

-3.6 外部RAM传送指令

--外部RAM传送指令

-3.7 ROM传送指令

--ROM传送指令

-3.8 交换指令

--交换指令

-3.9 堆栈操作指令

--堆栈操作指令

-3.10 传送类指令习题讲解

--传送类指令习题讲解

-3.11 算术运算类指令特点

--算术运算类指令特点

-3.12 加法指令

--加法指令

-3.13 加法习题、减法和乘除指令

--加法习题、减法和乘除指令

-3.14 逻辑运算指令

--逻辑运算指令

-3.15 布尔变量操作指令

--布尔变量操作指令

-3.16 无条件转移指令

--无条件转移指令

-3.17 条件转移指令

--条件转移指令

-3.18 循环转移指令

--循环转移指令

-3.19 子程序相关指令

--子程序相关指令

-3.20 并口访问指令及指令小结

--并口访问指令及指令小结

-3.21 第三单元作业

4 汇编语言程序设计

-4.1 汇编程序约定

--汇编程序约定

-4.2 宏指令

--宏指令

-4.3 汇编控制指令

--汇编控制指令

-4.4 汇编语言程序设计步骤

--汇编语言程序设计步骤

-4.5 顺序程序举例

-- 顺序程序举例

-4.6 单重分支结构

--单重分支结构

-4.7 多重分支结构

--多重分支结构

-4.8 单重循环结构

--单重循环结构

-4.9 计数控制循环程序

--计数控制循环程序

-4.10 特征控制循环程序

-- 特征控制循环程序

-4.11 多重循环程序

--多重循环程序

-4.12 子程序的概念

--子程序的概念

-4.13 子程序设计注意事项

--子程序设计注意事项

-4.14 子程序举例

--子程序举例

-4.15 第四单元作业

5 单片机存储器扩展

-5.1 系统扩展

--系统扩展

-5.2 51单片机扩展方法

--51单片机扩展方法

-5.3 存储器单元位数扩充方法

--存储器单元位数扩充方法

-5.4 存储器容量单元扩充方法

--存储器容量单元扩充方法

-5.5 译码线选法

--译码线选法

-5.6 程序存储器的类型

--程序存储器的类型

-5.7 程序存储器的扩展

--程序存储器的扩展

-5.8 数据存储器的扩展

--数据存储器的扩展

-5.9 存储器综合扩展

--存储器综合扩展

-5.10 单片机存储器系统的特点

-- 单片机存储器系统的特点

-5.11 第五单元作业

6 中断与定时系统

-6.1 中断技术

--中断技术

-6.2 中断优先级及中断系统内部结构

--中断优先级及中断系统内部结构

-6.3 中断控制寄存器及中断响应过程

--中断控制寄存器及中断响应过程

-6.4 中断请求的撤消

--中断请求的撤消

-6.5 外部中断举例

--外部中断举例

-6.6 定时器/计数器

--定时器/计数器

-6.7 定时计数器工作方式及程序编写

--定时计数器工作方式及程序编写

-6.8 定时器举例

--定时器举例

-6.9 第六单元作业

7 I/O扩展及应用

-7.1 并行接口

-- 并行接口

-7.2 并口举例

--并口举例

-7.3 并口扩展芯片

--并口扩展芯片

-7.4 8155连接方式及编程

--8155连接方式及编程

-7.5 键盘接口技术

--键盘接口技术

-7.6 按键处理程序及举例

--按键处理程序及举例

-7.7 键盘扫描子程序

-- 键盘扫描子程序

-7.8 显示接口技术

--显示接口技术

-7.9 多位字符静态显示

--多位字符静态显示

-7.10 多位字符动态显示

--多位字符动态显示

-7.11 第七单元作业

8 单片机实验

-8.1 流水灯控制系统设计

--html

-8.2 数码管显示系统设计

--html

-8.3 按键控制系统设计

--html

-8.4 中断控制系统设计

--html

-8.5 定时计数器系统设计

--html

-8.6 串口通信系统设计

--html

-8.7 汉字显示系统设计

--html

-8.8 单片机烧录方法

--单片机烧录方法

-8.9 第八章作业-作业

多重分支结构笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。