第4章 MCS-51单片机汇编语言程序设计

第4章 MCS-51单片机汇编语言程序设计

ID:44984733

大小:1.58 MB

页数:51页

时间:2019-11-06

第4章 MCS-51单片机汇编语言程序设计_第1页
第4章 MCS-51单片机汇编语言程序设计_第2页
第4章 MCS-51单片机汇编语言程序设计_第3页
第4章 MCS-51单片机汇编语言程序设计_第4页
第4章 MCS-51单片机汇编语言程序设计_第5页
资源描述:

《第4章 MCS-51单片机汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四章MCS-51单片机汇编语言程序设计【学习目的和要求】了解汇编语言程序设计中的顺序结构、分支结构、循环结构程序和子程序的设计方法。掌握代码转换和算术运算程序的基本编程方法和一些常用的子程序段,能正确地使用MCS-51指令编制汇编语言程序。第四章MCS-51单片机汇编语言程序设计4.1汇编语言程序设计方法4.2代码转换类程序4.3运算类程序第四章MCS-51单片机汇编语言程序设计4.1汇编语言程序设计方法汇编语言特点:高效、便捷用汇编语言编写一个程序的过程分为3步:(1)分析课题,确定计算方法、运算

2、步骤和顺序,画出流程图。(2)确定数据,包括工作单元的数量,分配存放单元。(3)按所使用计算机的指令系统,根据流程图编写汇编语言程序。基本结构形式:顺序结构、循环结构、分支结构、子程序结构。第四章MCS-51单片机汇编语言程序设计1、顺序程序顺序程序的特点和设计方法:结构比较简单,按程序编写顺序依次执行,程序流向不变。使用数据传送类指令较多,程序中没有控制转移类指令。可作为复杂程序中的某一组成部分。第四章MCS-51单片机汇编语言程序设计【例4-1】双字节二进制数求补。程序说明:对R3(高8位)、R2

3、(低8位)中的二进制定点数取反加1即可得到其补码。程序清单:BINPL:MOVA,R2CPLA;低位字节取反ADDA,#01H;加1MOVR2,A;低位字节补码送R2MOVA,R3CPLA;高位字节取反ADDCA,#00H;加进位MOVR3,A;高位字节补码送R3RET第四章MCS-51单片机汇编语言程序设计2.分支程序分支程序的特点和设计方法:程序中包含无条件转移、条件转移和散转指令。单分支程序有一个入口、两个出口,一般用无条件转移和条件转移指令来实现。其结构形式有两种:一种是当条件满足时,执行A段

4、处理程序,否则执行B段处理程序。另一种是当条件满足时,跳过A段处理程序,直接执行B段处理程序,否则顺序执行A段和B段处理程序。分支程序的出口有两个以上时,一般用散转指令来实现。其实现方法有四种,分别是转移指令表法、地址偏移量表法、转向地址表法和利用RET指令法。分支程序允许嵌套,即一个分支接一个分支,形成树状多分支结构。第四章MCS-51单片机汇编语言程序设计【例4-2】设变量x存放在VAR单元之中,函数值y存放在FUNC中,按下式给y赋值:程序清单:VAREQU30HFUNCEQU31HSTART:

5、MOVA,VAR;取xJZCOMP;为0,转COMPJNBACC.7,POSI;>0,转POSIMOVA,#0FFH;<0,-1送入ASJMPCOMPPOSI:MOVA,#01H;+1送入ACOMP:MOVFUNC,AEND第四章MCS-51单片机汇编语言程序设计【例4-3】32个分支转移程序。根据入口条件转移到32个目的地址。入口:(R3)=转移目的地址的序号00H-1FH。出口:转移到相应子程序入口。程序清单:MP:MOVA,R3;取序号RLA;序号乘2MOVDPTR,#JTAB;32个子程序首地

6、址送DPTRJMP@A+DPTR;根据序号转移JTAB:AJMPROUT00;32个子程序首地址AJMPROUT01…AJMPROUT31第四章MCS-51单片机汇编语言程序设计3.循环程序包括:循环初始化、循环处理、循环控制图4-4循环程序流程图的两种组织方式第四章MCS-51单片机汇编语言程序设计循环程序的特点和设计方法:结构紧凑,占用存储单元较少,程序中间有分支。2.凡是分支程序中可以使用的控制转移指令,循环程序一般都可以使用。3.循环控制有多种形式,较常用的是计数循环和条件循环两种形式。分类:

7、单重循环程序、多重循环程序第四章MCS-51单片机汇编语言程序设计【例4-4】若Xi均为单字节数,并按i(i=1~n)的顺序存放在内部RAM从50H开始的单元中,n放在R2中,要求将它们的和(双字节)放在R3、R4中。程序清单:ADD1:MOVR3,#00H;清和存储单元MOVR4,#00HMOVR2,#n;置循环计数初值MOVR0,#50HLOOP:MOVA,R4;取部分和低位ADDA,@R0;与Xi相加MOVR4,AINCR0;Xi地址加1CLRAADDCA,R3;低位字节向高位进位MOVR3,A

8、DJNZR2,LOOP;未加完继续重复END入口:Xi存放在从50H开始的单元;n放在R2中。出口:和存放于R3、R4中第四章MCS-51单片机汇编语言程序设计【例4-5】已知8051单片机使用的晶振为6MHz,要求设计一个软件延时程序,延时时间为10ms。延时程序的延时时间主要与所用晶振频率和延时程序中的循环次数有关。由晶振频率为6MHz可知,一个机器周期为2。入口:(R0)=毫秒数;(R1)=1ms延时预定值。出口:定时到,退出程序。程序清单:ORG

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

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

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