第4章 MCS-51系列单片机的程序设计ppt课件.ppt

第4章 MCS-51系列单片机的程序设计ppt课件.ppt

ID:58701438

大小:511.00 KB

页数:61页

时间:2020-10-04

第4章 MCS-51系列单片机的程序设计ppt课件.ppt_第1页
第4章 MCS-51系列单片机的程序设计ppt课件.ppt_第2页
第4章 MCS-51系列单片机的程序设计ppt课件.ppt_第3页
第4章 MCS-51系列单片机的程序设计ppt课件.ppt_第4页
第4章 MCS-51系列单片机的程序设计ppt课件.ppt_第5页
资源描述:

《第4章 MCS-51系列单片机的程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MCS-51系列单片机的程序设计第四章交叉汇编语言MASM51单片机汇编语言程序设计方法及技巧本章内容了解交叉汇编语言MASM51的特点掌握顺序程序、分支程序、循环程序、查表程序、子程序的基本设计方法和技巧学习目的掌握汇编语言程序设计的一般步骤4.1交叉汇编语言MASM51汇编语言源程序是由汇编指令和伪指令组成的文件,其扩展名为“ASM”。源程序编辑完后只有转换为机器码表示的目标程序计算机才能执行,这个转换的过程称为汇编。1)人工汇编人工汇编是通过人工查出源程序中所有汇编指令的机器码,并依次将机器码输入单片机中,使之成为单片机能直接执

2、行的目标程序。2)机器汇编机器汇编是指在计算机上通过汇编程序对源程序进行汇编,即从源程序到目标程序的转换过程是由计算机上的汇编程序自动完成的。3)交叉汇编是指用一种计算机上的汇编程序去汇编另一种计算机的源程序,为另一种计算机产生目标程序。单片机MCS-51汇编语言程序设计步骤:1分析问题2确定算法3设计程序流程图4分配内存单元5编写汇编语言源程序6调试程序4.2程序设计方法及技巧4.2.1顺序程序设计例4.1请用MCS-51汇编指令编写程序,将片内RAM104、105单元中的内容分别传送到片外RAM104H、105H单元中。分析:应注意

3、片内和片外的寻址指令不同ORG1000HMOVR0,#68HMOVA,@R0;片内RAM104单元内容送累加器MOVDPTR,#0104HMOVX@DPTR,A;完成片内RAM104单元内容送片;外104H单元中INCR0MOVA,@R0;片内RAM105单元内容送累加器INCDPTRMOVX@DPTR,A;完成片内RAM105单元内容送片;外105H单元中SJMP$;等待END;结束1.简单分支程序YN顺序执行条件满足?转向目标程序4.2.2分支程序设计图4.1简单分支程序转移分析:只要将两数进行比较,用比较的结果作为分支转移的条件就

4、很容易地找出其中的大数。已知片内RAMFIRST开始的两个单元中各存放有一个8位无符号二进制数,要求找出其中的大数并存入片内RAM的SECOND单元中。例4.2ORG1000HCLRCMOVR0,#FRIST;第一个数地址送R0中MOVA,@R0;取第一个数INCR0;R0指向第二个数地址SUBBA,@R0;两数比较JCBIG;第二个数大转BIGDECR0;R0指向第一个数地址BIG:MOVSECOND,@R0;存大数SJMP$;等待END;结束参考程序2)多路分支程序(散转程序)K=nK=n-1K=2转向分支n-1转向分支2转向分支1

5、转向分支nK=?K=1…图4.2多路分支程序转移1)把AJMP或LJMP指令组成一个分支程序的 转移表,表的首地址放入DPTR中;2)调整后的出口信息放入累加器A中;3)执行JMP@A+DPTR转向对应的分支程序。可通过间接转移指令JMP@A+DPTR和无条件转移指令中的AJMP或LJMP指令来实现多路分支转移:例4.3已知R0中存放有一数字关键码,要求根据码值的不同,分别转向对应的码值程序段去执行。即当(R0)=K时,便执行CODEK程序。ORG1000HMOVDPTR,#TAB;表首址送DPTRMOVA,R0;取数字关键码ADDA,

6、R0;每条AJMP指令占用两个字 ;节,将出口信息乘2JNCLESS;关键码小于128转LESSINCDPHLESS:JMP@A+DPTRTAB:AJMPCODE0;关键码为0,转CODE0执行AJMPCODE1;关键码为1,转CODE1执行……AJMPCODE255;关键码为255,转CODE255 ;执行SJMP$;等待END;结束参考程序AJMP指令的转移范围不超出所在的2KB字节区间,如各小段程序较长,在2KB字节内无法全部容纳,上面的程序应该怎样修改?思考1)循环初始化设置循环的初始状态,位于循环程序的开头位置2)循环处理循环

7、程序的主体部分,是通过反复执行来完成数据的具体处理,它位于循环体内。4.2.3循环程序设计循环程序由4部分组成:3)循环控制也在循环体内,是用于控制循环的继续与否。4)循环结束通常位于循环体后,是用来存放循环处理的最终结果及恢复各寄存器与工作单元的原始值。设MCS-51单片机内部RAM从40H开始的连续16个单元中,每个单元中分别存放有单字节的带符号数。要求将其中的正数存入50H开始的连续单元中,负数存入60H开始的连续单元中,并将正数、负数和零的个数分别存入70H、71H、72H单元中。例4.41)带符号数的最高位为符号位,可通过最高

8、位判断正负:“0”表示正数,“1”表示负数。2)程序中需要从40H单元开始取源数,存正数和负数,故需要三个地址指针来指向对应的内存单元;设对应的地址指针分别为R0、R1和R2,由于R2不能用间接寻址方式,故

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

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

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