《单片机》第4章 80C51的程序设计

第4章80C51的程序设计 41程序编制的方法和技巧 4.2源程序的编辑和汇编 4.3基本程序结构 4.4常用程序举例
1 第4章 80C51的程序设计 4.1 程序编制的方法和技巧 4.2 源程序的编辑和汇编 4.3 基本程序结构 4.4 常用程序举例

4.1程序编制的方法和技巧 4.1.1程序编制的步骤 、预完成任务的分析 首先,要对单片机应用系统预完成的 任务进行深入的分析,明确系统的设计任 务、功能要求和技术指标。其次,要对系 统的硬件资源和工作环境进行分析。这是 单片机应用系统程序设计的基础和条件
2 4.1 程序编制的方法和技巧 4.1.1程序编制的步骤 一、预完成任务的分析 首先,要对单片机应用系统预完成的 任务进行深入的分析,明确系统的设计任 务、功能要求和技术指标。其次,要对系 统的硬件资源和工作环境进行分析。这是 单片机应用系统程序设计的基础和条件

二、进行算法的优化 算法是解决具体问题的方法。一个应用系统经 过分析、研究和明确规定后,对应实现的功能和技 术指标可以利用严密的数学方法或数学模型来描述, 从而把一个实际问题转化成由计算机进行处理的问 题。同一个问题的算法可以有多种,结果也可能不 尽相同,所以,应对各种算法进行分析比较,并进 行合理的优化。比如,用迭代法解微分方程,需要 考虑收敛速度的快慢(即在一定的时间里能否达到 精度要求)。而有的问题则受内存容量的限制而对 时间要求并不苛刻。对于后一种情况,速度不快但 节省内存的算法则应是首选
3 二、进行算法的优化 算法是解决具体问题的方法。一个应用系统经 过分析、研究和明确规定后,对应实现的功能和技 术指标可以利用严密的数学方法或数学模型来描述, 从而把一个实际问题转化成由计算机进行处理的问 题。同一个问题的算法可以有多种,结果也可能不 尽相同,所以,应对各种算法进行分析比较,并进 行合理的优化。比如,用迭代法解微分方程,需要 考虑收敛速度的快慢(即在一定的时间里能否达到 精度要求)。而有的问题则受内存容量的限制而对 时间要求并不苛刻。对于后一种情况,速度不快但 节省内存的算法则应是首选

程序总体设计及流程图绘制 经过任务分析、算法优化后,就可以进 行程序的总体构思,确定程序的结构和数 据形式,并考虑资源的分配和参数的计算 等。然后根据程序运行的过程,勾画出程 序执行的逻辑顺序,用图形符号将总体设 计思路及程序流向绘制在平面图上,从而 使程序的结构关系直观明了,便于检查和 修改
4 三、程序总体设计及流程图绘制 经过任务分析、算法优化后,就可以进 行程序的总体构思,确定程序的结构和数 据形式,并考虑资源的分配和参数的计算 等。然后根据程序运行的过程,勾画出程 序执行的逻辑顺序,用图形符号将总体设 计思路及程序流向绘制在平面图上,从而 使程序的结构关系直观明了,便于检查和 修改

清晰正确的流程图是编制正确无误的应用 程序的基础和条件。所以,绘制一个好的流 程图,是程序设计的一项重要内容。 流程图可以分为总流程图和局部流程图。 总流程图侧重反映程序的逻辑结构和各程序 模块之间的相互关系。局部流程图反映程序 模块的具体实施细节。对于简单的应用程序, 可以不画流程图。但是当程序较为复杂时, 绘制流程图是一个良好的编程习惯
5 ◼清晰正确的流程图是编制正确无误的应用 程序的基础和条件。所以,绘制一个好的流 程图,是程序设计的一项重要内容。 ◼流程图可以分为总流程图和局部流程图。 总流程图侧重反映程序的逻辑结构和各程序 模块之间的相互关系。局部流程图反映程序 模块的具体实施细节。对于简单的应用程序, 可以不画流程图。但是当程序较为复杂时, 绘制流程图是一个良好的编程习惯

常用的流程图符号有:开始和结束符号、工 作任务符号、判断分支符号、程序连接符号、 程序流向符号等 开始或结束符号 判断分支符号 程序流向符号 工作任务符号 程序连接符号 程序流向符号 ○
6 常用的流程图符号有:开始和结束符号、工 作任务符号、判断分支符号、程序连接符号、 程序流向符号等 开始或结束符号 工作任务符号 判断分支符号 程序连接符号 程序流向符号 程序流向符号

4.1.2编制程序的方法和技巧 采用模块化程序设计方法 应用系统的程序一般由包含多个模块的主程序和各种 子程序组成。各程序模块都要完成一个明确的任务, 实现某个具体的功能,如:发送、接收、延时、打印 和显示等。采用模块化的程序设计方法,就是将这些 不同的具体功能程序进行独立的设计和分别调试,最 后将这些模块程序装配成整体程序并进行联调。 模块化的程序设计方法具有明显的优点。把一个多功 能的复杂的程序划分为若干个简单的、功能单一的程 序模块,有利于程序的设计和调试,有利于程序的优 化和分工,提高了程序的阅读性和可靠性,使程序的 结构层次一目了然
7 4.1.2 编制程序的方法和技巧 一、采用模块化程序设计方法 ◼应用系统的程序一般由包含多个模块的主程序和各种 子程序组成。各程序模块都要完成一个明确的任务, 实现某个具体的功能,如:发送、接收、延时、打印 和显示等。采用模块化的程序设计方法,就是将这些 不同的具体功能程序进行独立的设计和分别调试,最 后将这些模块程序装配成整体程序并进行联调。 ◼模块化的程序设计方法具有明显的优点。把一个多功 能的复杂的程序划分为若干个简单的、功能单一的程 序模块,有利于程序的设计和调试,有利于程序的优 化和分工,提高了程序的阅读性和可靠性,使程序的 结构层次一目了然

二、尽量采用循环结构和子程序 采用循环结构和子程序可以使程序的长度减少 占用内存空间减少。 多重循环,注意各重循环的初值和循环结束条 件,避免出现“死循环”现象; 通用的子程序,除了用于存放子程序入口参数 的寄存器外,子程序中用到的其它寄存器的内 容应压入堆栈进行现场保护,并要特别注意堆 栈操作的压入和弹出的平衡; 中断处理子程序除了要保护程序中用到的寄存 器外,还应保护标志寄存器
8 二、尽量采用循环结构和子程序 采用循环结构和子程序可以使程序的长度减少、 占用内存空间减少。 ◼多重循环,注意各重循环的初值和循环结束条 件,避免出现 “死循环”现象; ◼通用的子程序,除了用于存放子程序入口参数 的寄存器外,子程序中用到的其它寄存器的内 容应压入堆栈进行现场保护,并要特别注意堆 栈操作的压入和弹出的平衡; ◼中断处理子程序除了要保护程序中用到的寄存 器外,还应保护标志寄存器

4.1.3汇编语言的语句格式 语句行由四个字段组成: [标号:]操作码[操作数][;注释] 括号内的部分可以根据实际情况取舍。每个 字段之间要用分隔符分隔,可以用作分隔符的 符号有空格、冒号、逗号、分号等。 如:L0OP:MOVA,#7FH;A←7FH
9 4.1.3 汇编语言的语句格式 语句行由四个字段组成 : [标号:]操作码 [操作数] [;注释] 括号内的部分可以根据实际情况取舍。每个 字段之间要用分隔符分隔,可以用作分隔符的 符号有空格、冒号、逗号、分号等。 如:LOOP:MOV A,# 7FH ;A←7FH

标号 标号是语句地址的标志符号,用于引导对该语句的 非顺序访问。有关标号的规定为: 标号由1~8个ASC字符组成。第一个字符必须是字 母,其余字符可以是字母、数字或其他特定字符; 不能使用该汇编语言已经定义了的符号作为标号。如 指令助记符、寄存器符号名称等; 标号后边必须跟冒号。 二、操作码 操作码用于规定语句执行的操作。它是汇编语句中 唯一不能空缺的部分。它由指令助记符表示。 10
10 一、标号 标号是语句地址的标志符号,用于引导对该语句的 非顺序访问。有关标号的规定为: ◼ 标号由1~8个ASCII字符组成。第一个字符必须是字 母,其余字符可以是字母、数字或其他特定字符; ◼ 不能使用该汇编语言已经定义了的符号作为标号。如 指令助记符、寄存器符号名称等; ◼ 标号后边必须跟冒号。 二、操作码 操作码用于规定语句执行的操作。它是汇编语句中 唯一不能空缺的部分。它由指令助记符表示
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《单片机》第4章 汇编语言程序设计.ppt
- 《单片机》第5章 80C51的中断系统及定时/计数器续.ppt
- 《单片机》第5章 80C51的中断系统及定时/计数器.ppt
- 《单片机》第2章 MCS-51系列单片机的基本结构.ppt
- 《单片机》第3章 指令系统.ppt
- 《单片机》第1章 单片机概述.ppt
- 《单片机》第4章 80C51的程序设计.ppt
- 《单片机》第6章 80C51的串行口.ppt
- 《单片机》第三讲 中断定时与串口.ppt
- 《单片机》第8章 80C51的测控接口.ppt
- 《单片机》第7章 80C51的系统扩展.ppt
- 《C语言程序设计教程》第9章 文件.ppt
- 《C语言程序设计教程》第8章 结构体与联合体.ppt
- 《C语言程序设计教程》第7章 指针.ppt
- 《C语言程序设计教程》第6章 数组.ppt
- 《C语言程序设计教程》第5章 模块设计.ppt
- 《C语言程序设计教程》第4章 循环结构.ppt
- 《C语言程序设计教程》第3章 选择结构.ppt
- 《C语言程序设计教程》第2章 C程序的基本组成.ppt
- 《C语言程序设计教程》第1章 绪论.ppt
- 《数据库原理及应用》PPT教学课件:前言(刘占文主编).ppt
- 《数据库原理及应用》PPT教学课件:第一章 概论.ppt
- 《数据库原理及应用》PPT教学课件:第七章 数据库系统的开发技术.ppt
- 《数据库原理及应用》PPT教学课件:第三章 关系数据库查询语言SQL.ppt
- 《数据库原理及应用》PPT教学课件:第二章 关系数据库.ppt
- 《数据库原理及应用》PPT教学课件:第八章 数据库应用开发实例.ppt
- 《数据库原理及应用》PPT教学课件:第六章 各种数据库比较.ppt
- 《数据库原理及应用》PPT教学课件:第四章 数据库设计.ppt
- 无锡商业职业技术学院:《单片机原理与应用技术》课程教学资源(PPT课件讲稿)第五章 I/0、中断、定时与串行通信.ppt
- 无锡商业职业技术学院:《单片机原理与应用技术》课程教学资源(PPT课件讲稿)第一章 绪论、第二章 单片机基础(主讲教师:刘昌珍).ppt
- 无锡商业职业技术学院:《单片机原理与应用技术》课程教学资源(PPT课件讲稿)第四讲 接口与系统扩展(1/2)第四、六章 接囗花片与系统扩展.ppt
- 无锡商业职业技术学院:《单片机原理与应用技术》课程教学资源(PPT课件讲稿)第五讲 接口与系统扩展(2/2).ppt
- 无锡商业职业技术学院:《单片机原理与应用技术》课程教学资源(PPT课件讲稿)第六讲 C-51程序设计.ppt
- 无锡商业职业技术学院:《单片机原理与应用技术》课程教学资源(PPT课件讲稿)第七讲 单片机应用系统设计.ppt
- 无锡商业职业技术学院:《单片机原理与应用技术》课程教学资源(PPT课件讲稿)第八讲 几种有特色的单片机.ppt
- 无锡商业职业技术学院:《单片机原理与应用技术》课程教学资源(试卷习题)习题与思考题.doc
- 无锡商业职业技术学院:《单片机原理与应用技术》课程教学资源(PPT课件讲稿)第二讲 指令与编程 第三章 指令系统及程序设计.ppt
- 燕山大学:《微机控制技术》第十章 离散域设计.doc
- 燕山大学:《微机控制技术》第十一章 状态空间设计法.doc
- 燕山大学:《微机控制技术》第十二章 预测控制.doc