- 1、本文档共105页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Powerpoint 制作: 五邑大学信息工程学院 刘焕成 电话:0750-3299035(O) 课程主讲:XXX 第4章 单片机应用系统编程基础内容: 从源程序到可执行代码 机器码-汇编语言-高级语言 MCS-51汇编语言指令分析 汇编语言程序组成与结构 从C语言过渡到C51 程序设计举例 4.6 程序设计举例 4.6.1程序流程图 在编写程序前,先对算法进行描述,再动手编程是一个好的习惯。算法描述的方法很多,这里只讨论程序流程图法。 程序流程图是一种直观形象的算法描述方法。美国国家标准协会(American National Standard Institute ANSI),规定了一些常用的流程图符号,如图4-5所示。 4.6.2与I/O操作无关的程序设计 这类程序与单片机的硬件无关。一般有数值计算、数据移动、数据类型转换、排序等,这类程序注重算法、程序结构和单片机的原理部分,与C语言程序设计所学内容有重合之处。也是单片机程序设计的基础之基础。 预期目标:通过汇编和C程序设计方法的对比,透视两种程序之间共性与差异、特点及优势。 1 循环程序设计 计算机处理数据的一个有效方法就是循环。重复做某一类工作正是工程实际中最常见的任务,我们首先要能掌握这一技术的要点。 【例4-14】应用循环结构,编写一个延时子程序,具有可变延时长度的功能。 解:为了使延时长度达到一定宽度,采用三个时间参数R5~R7来调节延时长度,参考子程序清单如下: DELAY: DJNZ R5,DELAY DJNZ R6,DELAY DJNZ R7,DELAY RET 注意: DJNZ型指令的用法。 这是一个通用的软件延时子程序。R5、R6、R7的初值,决定程序运行的时间,即延时长度。初值的设置和子程序调用方法如下完整程序如下。 ORG 0000H SJMP MAIN MAIN: MOV SP,#5FH MOV R5,#60 ;确定延时时间 MOV R6,#210 MOV R7,#8 LCALL DELAY SJMP $ DELAY: DJNZ R5,DELAY DJNZ R6,DELAY DJNZ R7,DELAY RET END 对比DJNZ与C的for循环结构,两者非常相似。C实现本例题功能的函数为: void delay() { unsigned char i,j,k; for (i=0;i8;i++) for (j=0;j210;j++) for (k=0;k60;k++); } 注:程序中延时参数每变化1时,延时时间的变化量,称为该参数的延时分度。在本程序中的三个延时分度,各不相同,最大者称为“粗调”,其它可依次称为“细调”和“微调”延时参数,汇编程序中为R7、R6、R5,对应C程序中的i、j、k。 2 算术运算类程序设计 算术运算采用的数据格式有定点数和浮点数两种。单片机实际工程中的数据,多数是正整数或能转为正整数处理。所以本书只讨论正整数的定点算术运算的编程方法。对于复杂的运算,建议不要用汇编语言(虽然可以),而用C语言编程来完成。 【例4-15】编写计算两个存放于片内,长度为n字节的无符号二进制整数加法程序 ,要求和存于被加数对应单元中。数据采用“小端”存储结构 。 分析:编写通用子程序的方法。“通用”就是使子程序具有解决一类共性问题的能力。 1)本例的共性? (1)加法会产生进位,这是共性。因此,程序必须对进位进行处理。否则程序只对不产生进位的计算才正确,失去通用性。 (2)两个n位无符号整数相加,其和最多为n+1位,最高位是进位的结果,只能是0或1。因此在程序设计时,要准备一个字节或一个位单元来存放和的进位。本程序预留一个字节单元存放进位。 2) 通用性程序设计方法 通用性对程序来说就是能解决同类问题。就本例而言,通用性程序就表现在程序能计算1 ~n字节各种长度的数字之和,被加数和加数的首地址可任意。 3)限制条件 限制条件是单片机硬件的一些限制。本例要求被加数、加数存放于片内,数据长度受到片内RAM容量的限制。在实际应用中,由7~8个字节构成的整数情况已经极少见了,片内RAM的容量不成问题。 4)算法与程序结构 程序循环n次,循环体为以ADDC指令为核心的加法运算,同时进行部分进位处理。循环初始条件包括被加数、加数首地址、数据长度n。计数循环n次后结束。最后处理总进位。子程序流程如图4-6所示,注意学习流程图的表达方式及画法。 下面是本例题的参考子程序清单,名为TWOADD。 T
您可能关注的文档
- 八上5.2解放战争的胜利.ppt
- 初中八年级下期物理牛顿第一定律.ppt
- 单点登录平台管理软件系统设计文档.docx
- 单个外部中断实验.docx
- 渭河大桥照明工程施工总结资料.doc
- 八上6.1.2从种到界.ppt
- 八上28观潮复习课件.ppt
- 单股硬导线的连接.pptx
- 港华燃气应知应会题库(安全及风险管理部分)资料.doc
- 八上第5单元人民解放战争的胜利.ppt
- 2024年江西省寻乌县九上数学开学复习检测模拟试题【含答案】.doc
- 2024年江西省省宜春市袁州区数学九上开学学业水平测试模拟试题【含答案】.doc
- 《GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语》.pdf
- 中国国家标准 GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语.pdf
- GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- 《GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构》.pdf
- 中国国家标准 GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 中国国家标准 GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 《GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南》.pdf
最近下载
- 接受美学视角下的儿童文学翻译——以《小王子》为例.docx
- 做情绪的主人 一 认识情绪 课件.ppt
- 六年级上册英语教案-Module 4 Unit 1 Thanksgiving is my favourite festival∣外研版(三起).docx VIP
- 新动物防疫管理制度.doc
- 电工培训课件PPT(共-95张).ppt
- 第1课 社会主义在中国的确立与探索【中职专用】-【名师课堂】高一思想政治《中国特色社会主义》备课精品课件(高教版2023·基础模块).pptx
- 质量控制实验室GMP指南1300问完整版.pdf VIP
- 医学影像学-消化系统的影像学诊断.ppt
- 旅游界app项目创业计划书.pptx VIP
- 第1课 铰链四杆机构的组成及分类公开课教案教学设计课件资料.pptx VIP
文档评论(0)