单片机-分支程序设计教案

时间:2019-05-12 20:58:24下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《单片机-分支程序设计教案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《单片机-分支程序设计教案》。

第一篇:单片机-分支程序设计教案

一、复习上次课内容

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所示

三、课堂巩固

四、课堂小结

五、作业

第二篇:单片机实验9 多分支程序设计

实验9 多分支程序设计

1、实验内容

用P1.0、P1.1控制流水灯的变化

P1.0、P1.1=00灯全灭

P1.0、P1.1=01单灯亮左循环

P1.0、P1.1=10单灯亮右循环

P1.0、P1.1=11双灯亮左循环

灯亮的时时为1秒。用软件延时实现。*用T0定时选作。

2、实验步骤

1)打开PV32编程序。汇编正确进入调试界面。否则修改程序重新汇编直到通过。

2)打开P0、P1窗口给

3)调试灯全灭、单灯亮左循环、单灯亮右循环、双灯亮左循环程序观察并记禄寄存器、内存的变化。判断程序是否正确。若发现问题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。

4)设断点调试主程序观察并记禄寄存器、内存的变化。判断程序是否正确。若发现问题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。

首先将P1.0、P1.1置00观察P2窗口灯是否全灭,然后改变P1.0、1.1的设置观察流水灯运行是否正确。

5)流水灯运行中改变P1.0、1.1看流灯能否随之变化。若执行正确程序通过。否则在每个流水子程序中加入读P1口散转子程序。

3.实验报告

1.写出主程序流程图、子程序流程图、程序清单

2.根据记渌数据给程序加注解

3.调试心得

第三篇:分支结构程序设计教案

感受分支结构程序的作用

一、教学目标 1.知识与技能目标

(1)理解程序的分支结构。(2)了解编程思路。2.过程与方法目标

(1)借助多媒体教学,强化学生的理解力和注意力。(2)能根据问题设计界面和编写程序。3.情感、态度与价值观目标

(1)让学生从无到有的探索过程中感受成功的喜悦。(2)培养学生探究精神与独立操作能力。

二、教学重点和难点 1.教学重点:

使用visual basic语言的条件语句来实现分支结构,从而解决实际问题。

2、教学难点:

理解程序中流程的代码描述。

三、教学方法

情境教学法、讲授法、任务驱动法

四、教学准备

1、教学环境。多媒体网络教室。

2、教学资源。

学生用机需要安装好visual Bastc语言环境。任务卡

五、教学过程

1.创设情境,导入新课

ppt演示导出课题“分支结构”通过链接到“体型判断”小程序,然后让同学们自己推荐同学来测试是否偏胖或偏瘦或正常。学生的兴趣度很高,积极的配合。

设计意图:引起学生兴趣,激发学生的学习热情,点名课题。2.讲授新课

(1)给出标准体重的计算公式,并简介如何评判体型。

(2)列举生活中需要进行条件选择的例子来讲解,帮学生理解分支结构程序设计的概念。(3)关系表达式和逻辑表达式的简介。(4)画出if语句流程图,了解简单的if语句。

(5)教师操作“体型判断”的案例,介绍框架控件的使用,编写部分程序,回忆旧知。

设计意图:师生共同构思,写出“体型判断”源程序,让学生对分支结构的理解更深刻。

3.布置作业,巩固提高

以书本上的典型案例“体型判断”让学生操作,有不懂的看书本或任务卡。(巡回指导,及时帮学生解决操作过程中存在的问题)

4.归纳总结,加强记忆

先让学生们归纳总结本节课所学的内容,然后教师总结,让学生有一个更深刻的印象,并强调应注意的几个问题。

设计意图:课堂小结的目的是强化认识,可以把课堂传授的知识尽快地转化为学生的知识;简单扼要的课堂小结,可使学生更深刻地理解分支结构程序设计在实际生活中的应用。

六、课后反思

整节课以学生动手为主,学生的兴趣浓厚,课堂充满活力,能够达到预期目的。学生基本上都完成了课堂作业,但是已经做好的同学还没能形成先预习下节课要讲的内容的好习惯,总体来说这节课是相对成功的。

第四篇:分支程序设计实验报告[范文模版]

实验二 二 分支程序设计 一、实验目得: 1、学习分支程序得设计方法 2、熟悉在 PC 机上建立、汇编、连接、调试与运行汇编语言程序得过程 二、实验环境:

硬件环境

IBM/ PC 及其兼容机 软件环境

统 操作系统 DO S

编辑程序 EDIT 或其她编辑程序

序程编汇ﻩ 汇编程序 M ASM、E XE

连接程序LIN K、EXE 序 调试程序 DEB UG、EXE 三、实验内容:

:、在屏幕上显示如下信息:—-— —- ------—-—---— — ------—-Panda

2— —- --— — ---—-—-———-----— —-—--Cat

3-——--------------———- -——-Ra bbit

4— — -— —-— — -— —--— — --- —- --——------Pig—— ------—--—--—-—---— —- --—EXI T

(Plea se

ch oo se 1, 2, 3,4or 5)—- ----入 若输入 1, 显示“I like e

p panda ”后程序结束;若输入 2, 显示“I

lik e cat” ”后程序结束;若输入 3,显示“I

lik e rab bit t入 ”后程序结束;若输入 4, 显示“I do n’t l like pig ”后程序结束;若输入 5,程序直接结束;若输入其它字符,显示“You

pr ess an error key!“ 后程序结束.1)流程图

2)源程序 DATA SEGMENT

INFOR1 DB 0AH,0DH,”1-—-—----—-—Panda:$"

INFOR2 DB 0AH,0DH,”2—-—-——--———Cat:$”

INFOR3 DB 0AH,0DH,"3---—---——-—Rabbit;$”

INFOR4 DB 0AH,0DH,"4---—------—pig:$“

INFOR5 DB 0AH,0DH,”5--—--——--—-EXIT:$"

INFOR6 DB 0AH,0DH,”(please choose 1,2,3,4 or 5——-):$“

INFOR7 DB 0AH,0DH,”I like Panda:$“

INFOR8 DB 0AH,0DH,"I like Cat:$”

INFOR9 DB 0AH,0DH,"I like Rabbit;$"

INFOR10 DB 0AH,0DH,”I like pig:$"

INFOR11 DB 0AH,0DH,”you press an error key!:$” DATA ENDS

;数据段结束 CODE SEGMENT

;代码段开始 Y Y Y Y N N N N N 开始 选项 用户输入 Al=1 Al=2 Al=3 Al=4 Al=5 You press an error key 结束 I like panda I like cat I like rabbit I like do not

ASSUME

CS:CODE,DS:DATA

;段寻址 START: MOV AX,DATA

;将 data 得数据存入ax 中

MOV DS,AX

;为 ds 赋值

MOV DX,OFFSET

INFOR1

;返回变量 INFOR1 段内偏移地址【运行后在屏幕上显示字符 1--——--—--—-Panda:】

MOV AH,09H

INT 21H

;执行九号功能调用

MOV DX,OFFSET

INFOR2

MOV AH,09H

INT 21H

MOV DX,OFFSET

INFOR3

MOV AH,09H

INT 21H

MOV DX,OFFSET

INFOR4

MOV AH,09H

INT 21H

MOV DX,OFFSET

INFOR5

;返回变量 INFOR5 段内偏移地址【运行后在屏幕上显示字符 5—-—--——----EXIT:】

MOV AH,09H

INT 21H

MOV DX,OFFSET

INFOR6

MOV AH,09H

INT 21H

MOV AH,01H

INT 21H

CMP AL,“1’

JE

Panda

CMP AL,'2’

JE

Cat

CMP AL,”3’

JE

Rabbit

CMP AL,’4'

JE Pig

CMP AL,’5’

JE PEND

JMP Other Panda:

MOV DX,OFFSET INFOR7

MOV AH,09H

INT 21H

JMP PEND Cat:

8ROFNI TESFFO,XD VOMﻩ H90,HA VOMﻩ H12 TNIﻩ JMP PEND Rabbit:

MOV DX,OFFSET INFOR9

MOV AH,09H

H12 TNIﻩ

JMP PEND Pig:

MOV DX,OFFSET INFOR10

H90,HA VOMﻩ INT 21H

JMP PEND Other:

MOV DX,OFFSET INFOR11

MOV AH,09H

H12 TNIﻩ

JMP PEND PEND:

MOV AH,4CH

INT 21H CODE

ENDS

END START

2、、从键盘输入一字符,判断该字符就是小写字母、大写字母、数字或其它字符.若输入为小写字母, 显示“Y You

I nput a Lo wer case Letter!”;若输入为大写字母, 显示“You Inp ut a Uppercase L et ter!”;若输入为数字,显示“Yo ou Input a Digit!“;

若输入为其它字符,显示“You Inpu t

Ot her Let tt er!”。、编程指导 字 数字 0  9得ASC II 码为30H 39H;大写字母得 ASCII 码为 4 1H  5AH,小写字母得AS CI I码为61H 7AH。本题目将字符分为小写字母、大写字母、数字及其它字符,得 根据键入字符得 AS CII 码值判断其所属类型, 并显示相应得信息 息.字符串显示使用功能号为 09H 得 得 DOS 功能调用, 接收键盘输入得单个字符使为 用功能号为 01H 得 得 DOS 功能调用。

2、流程图及程序框图 1)流程图 2)源程序 DATA SEGMENT

INFOR1 DB 0AH,0DH,”Please Press Any Key to input a letter:$"

INFOR2 DB 0AH,0DH,”You input a lowercase letter!$”

INFOR3 DB 0AH,0DH,“You input a Uppercase letter!

$”

INFOR4 DB 0AH,0DH,"You input a Digit!

$”

INFOR5 DB 0AH,0DH,“You input Other letter!$” DATA ENDS CODE SEGMENT

ASSUME

CS:CODE,DS:DATA START:

MOV AX,DATA

; 显示信息“Please Press Any Key to input a letter”得指令序列以及接收从键盘输入一个字符得指令序列

MOV DS,AX

MOV

DX,OFFSET

INFOR1

H90,HA

VOMﻩ

INT

21H

MOV AH,01H

INT 21H Y Y Y Y Y Y 显示提示信息“Please Press Any Key to input a letter” 及功能号为 1 得接收键盘输入单个字符得指令序列 开始 结束(AL)<’0’(AL)<=’9’(AL)<’A’(AL)<=’Z’(AL)<’a’(AL)<=’z’ 输入得就是小写字母,显示信息 输入得就是大写字母,显示信息 输入得就是数字,显示有关信息 输入得就是其它字符,显示信息

CMP

AL,’0’

JB

OTHER

CMP

AL,’9’

JBE

DIGIT

CMP

AL,’A“

REHTO

BJﻩ ”Z',LA

PMCﻩ REPPU

EBJﻩ CMP

AL,’a’

JB

OTHER

“z',LA

PMCﻩ JBE

LOWER

JMP

PEND LOWER:

;显示“You Input a Lowercase Letter!”得指令序列

MOV DX,OFFSET INFOR2

H90,HA VOMﻩ INT 21H

出跳序程使应后支分个一完行执意注;

DNEP PMJﻩUPPER:

; 显示“You Input a Uppercase Letter”得指令序列 MOV DX,OFFSET INFOR3

H90,HA VOMﻩ H12 TNIﻩ DNEP PMJﻩDIGIT:

; 显示“You Input a Digit!”得指令序列 MOV DX,OFFSET INFOR4

H90,HA VOMﻩ INT 21H

JMP PEND OTHER:

; 显示“You Input Other Letter!”得指令序列

5ROFNI TESFFO,XD VOMﻩ MOV AH,09H

H12 TNIﻩPEND:

MOV AH,4CH

H12 TNIﻩCODE

ENDS

END START

四、心得 通过这次上机实验, 我掌握了分支程序额设计方法, 宏定义及宏调用得基本方法,了解了小写字母与大写字母得ASCII 码表示及其转换方法,了解了数字及其她得 字符得 AS CII 码表示方法, 进一步掌握了调试工具得 使用方法。

第五篇:MATLAB_分支结构程序设计答案

MATLAB分支结构程序设计

一、实验目的

1.理解MATLAB的编程方法 2.掌握if语句和switch语句的使用 3.掌握分支结构程序设计方法

4.通过练习理解MATLAB编程方法和分支结构程序设计方法。

二、实验环境

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时

四、实验内容和步骤

1.实验内容

(1)从键盘输入一个数,将它反向输出,例如输入693,输出为396 >> clear >> format long g s=input('s=')n=fix(log10(s));A=0;for i=1:n a=fix(s/10^n);x=fix(mod(s,10^i)/10.^(i-1));A=A+x*10^(n+1-i);end A+a s=693 s = 693 ans = 396(2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E 1)分别用if语句和switch语句实现

2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息 If语句

>> a=input('输入成绩')if a>=90&a<=100 disp('A 成绩合理');elseif a>=80&a<90 disp('B 成绩合理');elseif a>=70&a<80 disp('C 成绩合理');elseif a>=60&a<70 disp('D 成绩合理');elseif a<60 disp('E 成绩合理');else disp('成绩错误')end 输入成绩56 a = 56 E 成绩合理 switch语句

>> a=input('输入成绩')

switch a;case num2cell(0:59)disp('E 成绩合理');case num2cell(60:69)disp('D 成绩合理');case num2cell(70:79)disp('C 成绩合理');case num2cell(80:89)disp('B 成绩合理');case num2cell(90:100)disp('A 成绩合理');otherwise disp('成绩错误');end 输入成绩78 a = 78 C 成绩合理 2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。

(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(5)检查程序输出结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会

通过本次实验,我逐渐掌握了点if语句和switch语句的使用,了解了分支结构程序设计方法。因为本次实验较有难度,所以完成的不是很顺利。在分支结构程序设计方面还有待加强。

下载单片机-分支程序设计教案word格式文档
下载单片机-分支程序设计教案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    51单片机脉冲产生程序设计

    独立键盘控制输出脉冲信号 用51单片机用独立键盘控制输出4种频率:1Hz、2Hz、10Hz、50Hz,占空比为50%的脉冲信号。 #include #define uint unsigned int #define uchar unsign......

    基于51单片机倒计时秒表程序设计

    基于51单片机倒计时秒表程序设计 typedef unsigned char UINT8; typedef unsigned int UINT16; code UINT8 SEGMENT[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x......

    51单片机程序设计实训100例

    《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》案例 《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例 第 01 篇 基础程序设计 01 闪烁的LED /*......

    活动八《体验顺序、分支结构程序设计》说课稿

    活动八《体验顺序、分支结构程序设计》说课稿 尊敬的评委,各位老师,大家好: 我是平和县大溪中学信息技术教师江文权,我说课的题目是活动八《体验顺序、分支结构程序设计》 一、......

    2013单片机实验教案

    单片机技术实验 教 案 冯 杰 1 实验一 顺序结构程序设计 一、实验目的 掌握汇编语言设计和调试方法。 二、实验内容 把外部RAM中2000h单元的内容拆开,高位送2001h单元,低位......

    单片机公开课教案

    MCS-51单片机指令的寻址方式教案 教者:达雯 班级:0703 课时:1课时 教学目标:掌握MCS-51七种寻址方式的含义和特点 能识别指令中操作数所采用的寻址方式 能根据寻址方式确定操作......

    单片机实验教案

    实验一数据传送 一、实验目的 1、 熟悉单片机指令系统,掌握单片机循环程序设计方法2、 掌握单片机数据排序方法. 二. 实验内容: 预先向单片机内部RAM 50H 开始填入一批数据......

    单片机实验教案

    实验一 集成开发环境keil c51的使用与调试 Keil C51 u Vision2 是德国Keil公司开发的基于Windows环境的8051软件开发平台,它集项目管理、源程序编辑、程序调试于一体,是一个强......