单片机分支程序设计教案_单片机项目式教案设计

2020-02-27 教案模板 下载本文

单片机分支程序设计教案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单片机项目式教案设计”。

一、复习上次课内容

1、什么是标识符?

答:标识符是程序员选择的名字,用来标识常量、变量、过程、段名等。

2、什么是伪指令?

答:注释性的,没有对应的机器码,不令计算机做任何操作,不产生目

标程序,不影响程序的执行。

二、讲授新课

4.3分支程序设计

在很多实际问题中,都需要根据不同的情况进行不同的处理。这种

思想体现在程序设计中,就是根据不同条件而转到不同的程序段去执行,这就构成了分支程序。分支程序的结构有两种,如图4.2所示。

图4.2 分支程序结构

图4.2(a)结构使用条件转移指令来实现分支,当给出的条件成立时,执行程序段A,否则执行程序段B。

图4.2(b)结构使用散转指令JMP来实现多分支转移,它首先将分支程序按序号的值来实现分支转移。

分支程序的特点是改变程序的执行顺序,跳过一些指令,去执行另外一些指令。应注意:对每一个分支都要单独编写一段程序,每一分支的开始地址赋给一个标号。

在编写分支程序时,关键是如何判断分支的条件。在MCS-51系列单片机中可以直接用来判断分支条件的指令并不多,只有累加器为零(或不为零)、比较条件转移指令CJNE等,MCS-51单片机还提供了位条件转移指令,如JC,JB等。把这些指令结合在一起使用,就可以完成各种各样的条件判断。

【例4-5】设补码X放在内部RAM30H单元中,函数Y与X有如下的关系式:

试编写程序,根据X的值求出Y,并放回原单元。

解 取出X后先做取值范围的判断,用累加器A状态转移指令判断X是否为0,用位状态转移指令判断X是大于0还是小于0。程序流程图如图4.3所示。

程序如下:

MOV A,30H JZ ZER0 JNB ACC.7,PLUS

ADD A,#5 MOV 30H,A PLUS: SJMP $ ZERO: MOV 30H,#20H SJMP $ END 【例4-6】内部RAM40H和41H单元中各有一无符号数,比较其大小,将大数存放于内部RAM60H单元,小数存放于内部RAM61H单元,如两数相等,则分别送往这2个单元。

解 用比较不等转移指令CJNE比较力两个无符号书,先确定它们是否相等,若不相等时再根据借位标志确定这两个无符号书的大小。程序框图如图4.4所示。程序如下:

LOOP:

AGEQ:

SJMP END $

XCH MOV A,61H 60H,A

;A<(41H)有借位

;A与(61H)交换 MOV MOV CJNE AJMP JNC A,40H 61H,41H A,41H,LOOP AGEQ AGEQ

;A≥(41H)则无借位

【例4-8】将ASCII码制转换为十六进制数。如果不是十六进制数得ASCII码,用户标志位置1。解:由ASCII码表知,30H~39H为0~9的ASCII码,41H~46H为A~F的ASCII码。在这一范围的ASCII码减去37H就可以获得对应的十六进制。设ASCII码放在累加器A中,转换结果放回A中。程序流程图如图4.5所示

三、课堂巩固

四、课堂小结

五、作业

《单片机分支程序设计教案.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
单片机分支程序设计教案
点击下载文档
相关专题 单片机项目式教案设计 单片机 程序设计 分支 单片机项目式教案设计 单片机 程序设计 分支
[教案模板]相关推荐
    [教案模板]热门文章
      下载全文