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

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

ID:39335478

大小:262.10 KB

页数:29页

时间:2019-07-01

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

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

1、§4-1伪指令§4-2汇编语言程序的编辑与汇编§4-3汇编语言程序设计●教学目的:本章主要学习伪指令,源程序的编辑与汇编,汇编语言的程序设计举例。通过本章的学习,要掌握伪指令的含义及其使用方法,学会应用基础指令语句编写具有分支、循环、子程序等的汇编语言程序,掌握应用WAVE软件编写、编译程序的方法,学会应用WAVE软件进行程序仿真与检查。第四章MCS-51单片机语言程序设计§4-1伪指令一、伪指令在单片机编程中,有一些指令,如指定目标程序或数据存放的地址、给一些指定的标号赋值、表示源程序结束等指令,并不产生目标程序(机器码),仅仅产生供汇编用的某些命令,用来对汇编过程进行某种控制或操作,

2、这类指令称为伪指令。MCS-51的伪指令主要有:ORGENDEQUBITDBDWDS等§4-1伪指令ORG—定义起始地址伪指令格式:ORGaddr16功能:规定程序块或数据存放的起始地址。Addr16表示一个16位的程序存储器的空间地址,一般为一个确定的地址,也可以是预先定义的标号。例:ORG000HAJMPMAINORG0030HMAIN:MOVA,30H…注意:①在一个汇编语言源程序的开始,一般都要设置一条org伪指令来指定该程序在程序存储器中存放的起始地址,如果省略,程序从0000H开始存放;②在一个程序中,可以有多个org,为不同的程序段指明存放位置,但必须从小到大,且存储空间不

3、能重叠。END—定义汇编结束伪指令格式:END功能:表示汇编结束,在此之后的源程序将不被编译。例:ORG000HAJMPMAINORG0030HMAIN:MOVA,30H…END§4-1伪指令EQU—标号赋值伪指令例:BLKEQU1000HGREENEQU30HORG000HAJMPMAINORG0030HMAIN:MOVA,GREEN…END§4-1伪指令格式:标号EQU[表达式]功能:将表达式的值赋给本语句中的标号,又称为等值指令,可替代单字节、双字节。注意:在被赋值后该标号将不能再被赋值。BIT—位地址赋值伪指令例:REDBIT20H.3ORG000HAJMPMAINORG0030

4、HMAIN:MOVP1.6,RED…END§4-1伪指令格式:标号BIT[表达式]功能:将表达式的值赋给本语句中的标号,以替代位。注意:在被赋值后该标号将不能再被赋值。DB—定义字节伪指令例:ORG000HAJMPMAINORG0030HMAIN:…MOVDPTR,#TABMOVCA,@A+DPTR…TAB:DB0C0H,0F9H,0A4H,99HDB86H,73H,89HDB“helloworld!”END§4-1伪指令格式:标号DB[字节表]功能:从标号指定的地址单元开始,在程序存储器中定义字节数据。DW—定义字伪指令例:ORG000HAJMPMAINORG0030HMAIN:…TA

5、B:DW0C045H,0F9H,0A324H,99HEND§4-1伪指令格式:标号:DW[字表]功能:从标号指定的地址单元开始,在程序存储器中存储字数据。DS—预存存储区伪指令例:ORG3000HMAIN:…TIMER:DS10H…END§4-1伪指令格式:标号:DS表达式功能:从标号指定的地址单元开始,定义一个存储区,以被源程序使用。存储区内预留的单元数由表达式的值决定。应用软件:WAVE,KeilCWAVE应用初步(请看实际操作)§4-2汇编语言程序的编辑与汇编程序的四种执行方式:顺序程序分支程序循环程序子程序§4-3汇编语言程序设计分析问题确定算法画框图编写程序调试开始一般处理判断

6、编程技巧:划分好功能模块,按模块编程写好注释,便于理解和事后分析对于内部存储器的应用要合理分配子程序的堆栈保护和数据接口要设置好§4-3汇编语言程序设计编程举例:§4-3汇编语言程序设计例4-1(P60)(顺序程序)设20H单元中有一个8位的数据,将其低4位送到21H内,并按相反的顺序拼装,高4位清零,即原(20H)=D7D6D5D4D3D2D1D0至(21H)=0000D0D1D2D3。(WAVE编程操作)编程举例:§4-3汇编语言程序设计例4-2(P60)(分支程序)求16位二进制数的补码。设16位二进制数的原码放在R1,R0中,(低8位在R0中),求得的补码放置在R3、R2中。(补

7、码的概念:正数是本身,负数各数值位取反后加1得到。)(WAVE编程操作)编程举例:§4-3汇编语言程序设计例4-3(P61)(分支程序)比较两个无符号数的大小,两个8位数分别存放在DATA1、DATA2单元,要求将大数放置在DATA3单元(三单元连续)。(WAVE编程操作)编程举例:§4-3汇编语言程序设计例4-4(P61)(循环程序)计算通用延时程序的延时时间。Delay:MOVR7,#250DEL1:MOVR6,#200DJNZ

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

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

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