单片机应用及控制技术 教学课件 作者 何永艳 主编 吴勤勤 主审第5章 程序设计.ppt

单片机应用及控制技术 教学课件 作者 何永艳 主编 吴勤勤 主审第5章 程序设计.ppt

ID:50166260

大小:266.00 KB

页数:22页

时间:2020-03-09

单片机应用及控制技术 教学课件 作者 何永艳 主编 吴勤勤 主审第5章 程序设计.ppt_第1页
单片机应用及控制技术 教学课件 作者 何永艳 主编 吴勤勤 主审第5章 程序设计.ppt_第2页
单片机应用及控制技术 教学课件 作者 何永艳 主编 吴勤勤 主审第5章 程序设计.ppt_第3页
单片机应用及控制技术 教学课件 作者 何永艳 主编 吴勤勤 主审第5章 程序设计.ppt_第4页
单片机应用及控制技术 教学课件 作者 何永艳 主编 吴勤勤 主审第5章 程序设计.ppt_第5页
资源描述:

《单片机应用及控制技术 教学课件 作者 何永艳 主编 吴勤勤 主审第5章 程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章程序设计上海电子信息职业技术学院何永艳主编程序设计就是利用计算机所能识别的语言把解决问题的步骤描述出来,也就是编写程序,在MCS-51型单片机的实际应用中,相当多的程序采用汇编语言编写。因此汇编语言程序设计不仅关系到系统的特性和效率,还与系统的硬件有密切的关系5.1程序设计的步骤汇编语言程序设计有以下几个步骤:1.分析问题,明确所要解决问题的要求,确定算法或解题思路2.画流程图流程图又称为程序框图,它用各种图形、符号、指向线等来说明程序的执行过程,能充分表达程序的设计思路,可帮助设计程序、阅读程序和查找程序中的错误。常用的流程图符

2、号如下:置位P1.0位程序返回调用延时子程序清零P1.0位调用延时子程序主程序结束图5.1灯闪烁流程图图2.1用单片机控制单个LED的电路原理图如图2.1所示的电路图可以让LED灯闪烁。现在用流程图来把这段程序的主程序部分画出来3.编写源程序根据流程图编写源程序,如上。编写源程序的时候要注意以下3点:1)合理分配存储器单元和了解I/O接口地址。2)按功能设计程序,明确各程序之间的相互关系。3)用注释行说明程序,便于阅读和修改调试和修改4.汇编和调试对已编写好的程序,先进行汇编。再汇编过程中,还可能会出现一些错误,需要对源程序进行修改。汇

3、编工作完成后,就可上机调试运行。5.2汇编语言程序的书写格式程序书写的格式又两种形式:1.完整的程序格式形式。2.子程序的形式5.3程序设计方法顺序程序是最简单的一种程序结构,又叫直线程序,它是按照顺序依次执行的程序,也是所有程序设计中最基本、最重要的程序,因为编写程序就是按照逻辑上的顺序来编写的。主要用数据传递类指令和数据运算类指令来实现。主要特点:完全按程序书写顺序,从第一条语句开始顺序执行,直至最后一条语句。5.3.1顺序程序解:先画出流程图如图5.2根据流程图编写源程序如下:ORG0040HMOVA,20HADDA,30HMOV

4、R0,ACLRAADDCA,#00HMOVR0,AMOVA,30HADDA,R1MOVR1,ACLRAADDCA,R0MOVR0,AEND图5.2例5.1程序流程图【例5.1】将内部RAM中20H单元和30H单元的无符号数相加存入R0(高位)和R1(低位)中。5.3.2循环程序在许多实际应用中,往往需要多次反复执行某种相同的操作,而只是参与操作的操作数不同,这时就可采用循环程序结构。循环程序常用于求和、统计、寻找、排序、延时、求平均值等程序。循环程序可以缩短程序,减少程序所占的内存空间。主要特点:可对某程序段多次重复执行。比如LED灯闪

5、烁程序的延时子程序:例4.11中的8个LED循环点亮,亮的时间就是用循环程序结构的,也就是一个延时子程序,循环控制?循环工作循环结束循环初始化YN图5.4循环结构程序的流程图如下:DELAY:MOVR7,#250D1:MOVR6,#250D2:DJNZR6,D2DJNZR7,D1RET【例5.3】从22H单元开始存放一个数据块,其长度存放在20H单元中。将数据块求和,要求将和存放入21H单元中(和不超过255)。解:用计数器控制的单重循环程序源程序如下ORG0040HCLRA;A清0MOVR2,20H;置数据块长度于R2中MOVR1,2

6、2H;置数据块首地址LOOP:ADDA,@R1;加数INCR1;依次取数据块的地址DJNZR2,LOOP;循环控制,判断求和的数据块个数到了吗?没到,继续执行求和MOV21H,A;求和的数据块个数到了,把结果放入21HEND【例5.6】根据图4.4的线路设计灯亮程序,要求8只发光二极管间隔分二组,即1、3、5、7为一组,0、2、4、6为一组,二组交叉轮流发光,反复循环不止,变换时间为100ms,已知时钟频率为6MHz。源程序如下:ORG0040HMOVA,#55HL1:MOVP1,A;初始化为1、3、5、7位先亮LCALLDELAY;亮

7、100msCPLA;各位取反SJMPL1;反复循环DELAY:MOVR0,#100;毫秒数→R0DL2:MOVR1,#250;1ms延时的预定值250→R1DL1:DJNZR1,DL1;1ms延时循环DJNZR0,DL2;毫秒数未到,继续RET;子程序返回END5.3.3分支程序在许多情况下,需要根据不同的条件转向不同的处理程序,这种结构的程序称为分支程序。也就是本条指令执行完后并不是象顺序结构那样执行下一条指令,而是看本条指令所给的条件是否满足,如果满足条件就跳转到其他的指令,如果不满足就顺序执行。条件满足?N影响条件Y处理段条件满足

8、?N影响条件Y处理1处理2图5.7单分支结构的流程图主要特点:能根据条件进行判断,并根据判断结果选择对应的程序入口。在分支结构的程序设计中必须注意:执行一条判断指令只可以形成两路分支,如果要形成多路分支就必

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。