- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7_汇编程序设计2
3.3 循环程序设计 3.3.1 循环程序设计方法 3.3.2 循环程序设计实例 3.3.1 循环程序设计方法 循环程序的结构一般包括以下几部分。 循环初始化——是进入循环处理前必须要有的一个环节,用于完成循环前的准备工作。循环初始化包括给工作寄存器(或其他存储单元)设置计数初值、地址指针、数据块长度等。 循环处理——是需要多次重复执行的程序段。循环处理是循环程序的核心,用于完成主要的计算和操作任务。 循环控制——是用条件转移指令控制循环是否继续。每循环一次,根据循环结束条件进行一次判断;当满足条件时,停止循环,继续执行其他程序;否则,再作循环。 循环结束——用于存放循环程序的执行结果,同时恢复相关工作单元的初值。 3.3.1 循环程序设计方法 循环程序一般有两种编写方法。 先循环处理后循环控制(即先处理后判断),其流程如下图所示。 先循环控制后循环处理(即先判断后处理),其流程如下图所示。 循环处理和循环控制构成循环体,若循环程序的循环体内不再包含其他循环程序,则称为单重循环程序。若循环程序的循环体内包含有其他循环程序,则称为多重循环程序,又称为循环嵌套。 多重循环程序中的各重循环不能有交叉,不能从外循环跳入内循环,只能外循环内嵌套内循环。两重循环程序流程如下图所示。 先判断后处理 先处理后判断 两重循环 循环程序流程图 循环程序流程图 程序流程图 3.3.1 循环程序设计方法 循环程序的特点和设计方法。 程序结构紧凑,占用存储单元较少,程序中间有分支,循环程序本质上是分支程序的一种特殊形式。 DJNZ指令使用得较多,凡是分支程序中可以使用的控制转移类指令,循环程序一般都可以使用。 循环控制的形式有多种。计数循环是最常用的一种,它先预置计数初值,再用 DJNZ指令控制循环次数;条件循环也是较常用的一种,它先预置结束循环的条件,再用CJNE指令、JZ指令或JB指令控制循环的结束。 3.3.2 循环程序设计实例 【例3】 片内RAM中存放有10个数据,首地址为30H,编程将数据块传送到片外RAM以1000H为首地址的存储单元中。 解:该程序是单重循环程序,片内RAM首地址30H、片外RAM首地址1000H和数据块长度10都是循环初始化的内容。 循环控制是对数据块长度进行判断,每传送一个数据,存放数据块长度的寄存器减1;10个数据传送完,存放数据块长度的寄存器内容正好为零,退出循环。 3.3.2 循环程序设计实例 【例4】 P1口做输出口,控制8盏灯(P1口输出低电平时灯被点亮),编程使灯按以下规律显示:同一时间只有两盏灯点亮,从P1.7、P1.6控制的灯开始,每盏灯闪烁5次,再移向下两盏灯,同样闪烁5次,循环往复,延时时间1s。晶振频率6MHz。 解:主程序是双重循环程序,循环移位是外循环,灯闪烁5次是内循环,内循环程序不能与外循环程序交叉。 延时1S采用三重循环程序。晶振频率为6MHz时,机器周期为2?s,延时程序的延时时间计算方法如下: {1+[1+(1+(1+1+2)×125+2)×200+2]×5+2}×2?s =1006036?s=1.006036s 3.3.2 循环程序设计实例 【例5】 P1口做为输出口控制步进电动机的四相绕组,编写程序,控制步进电动机每2s正向转动一步。晶振频率6MHz。 解:步距角:θb=360/mZ (°) 电机转速:n=60f/mZ (r/min) 上式中:f 为脉冲频率,单位:Hz或步/s。 m 为拍数,本例中为4。 Z 为转子齿数,本例中取5。 拍数m=4,若使用的步进电动机转子齿数Z为5,则步距角θb=18°。题目要求步进电动机每2s正向转动一步,即T=2s,则f=0.5Hz,电机转速n=1.5r/min。 用三重循环设计2s的循环程序。晶振频率为6MHz时,机器周期为2?s,延时程序的延时时间计算方法如下: {1+[1+(1+1+2×123+2)×200+2]×20+2}×2?s =2000126?s=2.000126s 3.3.2 循环程序设计实例 【例6】 片内RAM从50H单元开始存放了10个无符号数,编程将它们按由小到大的顺序排列。 解:数据排序的方法有很多,本例采用常
您可能关注的文档
- 综合生活污水低碳处理方法.ppt
- 第21章 序列号.ppt
- 压缩机热力性能的计算举例1.ppt
- 常用的几种退火方法和退火.ppt
- 重点 序号9 DNA重组技术的基本工具讲课课件.ppt
- §1-1 离散时间信号——序列.ppt
- 中联重科序列号解决方案分析_V1.0-1.ppt
- 软件测试技术1.ppt
- 精度设计与质量控制基础绪论1-2006.ppt
- 27 装配图尺寸、序号、明细栏.ppt
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)