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

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

单重分支结构在线视频

单重分支结构

下一节:多重分支结构

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

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

同学

你好

今天我们将继续介绍汇编源程序的

程序的编写

前面我们介绍过顺序结构的程序

顺序结构比较简单

程序是一条一条的顺序地执行

今天我们就来看一看

分支结构程序的设计

分支结构是通过条件转移指令

构成程序的判断框部分来组成分支

最简单的分支结构为单重分支

及一个判断决策框

形成程序的两条出路

我们来看两道分支结构程序设计的例题

首先我们看第一个例题

求R3中补码的绝对值

即正数就不变 负数就变补

此题的关键是如何判断R3中的数据的正负

我们就需要用到什么

用判位跳转指令JNB来实现

先用MOV A,R3

把R3的数据送入累加器A

然后再用JNB ACC.7,L0

进行A中数据正负的判断

这是因为八位有符号的二进制数据中

最高位就是第七位是为符号为

该位如果为1就表示这个数是负数

如果该最高位为0就表示了一个正数

JNB指令可以根据当前累加器A的

最高位为零

既是正数就跳到L0处不做任何处理

而如果累加器A的最高位为1

即为负数时

则不跳转顺序执行后面的CPL A取反指令

和INC A加1指令

实现A中负数的求补的操作

最后通过MOV指令把补码再回送到

工作寄存器R3中存放

同学们你可以自行的分析一下这段程序

认真的体会分支程序设计的精髓

下面我们再来看一看这道例题

假定在外部RAM中由51H 52H

和53H共三个连续的单元

其中51H和52H单元中分别存放着

两个八位的无符号二进制数

那么要求干什么

求出其中的大数

并存入到53H的单元中

注意例题中的数据是存放在片外RAM中

而是从片外RAM取数到片内

我们前面学习过是要用什么呢

MOVX指令

这条指令的格式是MOVX A,@DPTR

那么寄存器DPTR中存放的

就是待取数的片外RAM的地址

只能够首先把这个数据取到片内的累加器A中

这个指令一定要注意

此题的关键就是

如何把从片外取出来的

两个八位无符号二进制数比较大小

我们例题中

是先用SUBB A,R2把这两个数相减

减的目的是想用结果去设置

借位标志位CY

然后再利用判断借位跳转指令JNC

根据减法结果中借位位的状态来判断两个数的大小

最终根据指令JNC判断的结果找到那个大的数

并把它送到片外RAM的53H单元中去存放

同学们

你可以根据我们这个程序的注释自行的

分析一下该段程序

认真体会分支程序设计的技巧

以上就是我们今天课的全部内容

今天我们主要介绍了一下单重分支

程序设计的方法

这里面核心就是需要用到一些

条件转移指令

根据这个条件来实现程序的跳转来构成分支

后面我们将学习多重分支程序的设计

好的

今天的课程就到这里

同学们再见

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

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 第八章作业-作业

单重分支结构笔记与讨论

也许你还感兴趣的课程:

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