当前课程知识点:单片机原理及应用 >  4 汇编语言程序设计 >  4.10 特征控制循环程序 >  特征控制循环程序

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

特征控制循环程序在线视频

特征控制循环程序

下一节:多重循环程序

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

特征控制循环程序课程教案、知识点、字幕

同学

你好

我们前面学习过了

用计数控制的方式如何来设计循环程序

今天我们再来看另外一种

设计循环控制程序的方法

他就是用特征标志位

来控制如何设计循环程序

该方法的核心思想就是要

设定一个循环结束的标志

通过该标志来实现循环控制

我们同样可以来看这样一道例题

这道例题就是找正数表中的最小的值

这个正数表在哪里

看图中所示

这个正数表就存放在

片外RAM的以LIST为起始单元连续单元中

注意一下我们存放的顺序

就是由RAM单元的低地址位

向高地址位来进行连续的存放

正数表的最后

我们用负1来作为表的结束标志

好的

下面我们来看一下具体的程序

在具体的程序中我们用了一条

核心的指令来作为控制循环的指令

这一条指令就是

CJNE A,#-1,L1

该条指令我们在前面介绍

51单片机的指令系统中也学习过

这条指令的功能叫做比较不相等转移指令

具体指令的特点就是那么该条指令

会把累加器A中的值和这个结束标志负1

来相比较

如果两者不相等

就会跳到程序的L1处

去执行相关的程序

如果累加器A的内容等于负1

那么就不跳转 程序就会顺序的执行

CJNE后面的这一条

无条件转移指令 SJMP L3

该SJMP我们知道是一条短跳转指令

它是无条件转移

会把程序直接跳到这个程序的L3处

去结束程序

另外如何比较两个数的大小

程序中B寄存器中存放的是

每次比较中找到的最小的数

累加器A中存放的是最新取来的

带比较的数

然后用指令L1:CJNE A,B,L2

和L2:JNC L0

来实现累加器A

和寄存器B中的数据的比较

其中指令CJNE A,B,L2

本质上是把累加器A和B寄存器相减

但是我们前面也说过这条指令

结果并不反存到A

仅仅是用该指令影响借位标志位的状态

然后都会执行后面的JNC指令

判断是否有借位

该JNC指令会根据是否有借位

来判断A和B中哪个数据小

然后再做进一步的分支处理

最终B中会存放比较中的小的数

同学们你可以根据

程序的注释仔细的分析一下该段程序

体会一下特征标志

实现循环控制

和技术控制实现循环控制的不同

从中可以总结出用特征标志来实现

循环控制程序设计的精髓

好的

至此的话我们已经介绍了两种

设计循环程序的方式

一种是用计数控制的方式

一种是用特征标志位来控制循环的方式

两种方式各自有各自的特点

希望同学们你们都能够把这两种方式掌握

在以后的程序中

能够学会熟悉的运用

好了

今天的课程就到这里

同学们再见

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

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

特征控制循环程序笔记与讨论

也许你还感兴趣的课程:

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