单片机原理及其应用 教学课件 作者 陈立周 陈宇 第3章.ppt

单片机原理及其应用 教学课件 作者 陈立周 陈宇 第3章.ppt

ID:50337512

大小:1.13 MB

页数:35页

时间:2020-03-08

单片机原理及其应用 教学课件 作者 陈立周 陈宇 第3章.ppt_第1页
单片机原理及其应用 教学课件 作者 陈立周 陈宇 第3章.ppt_第2页
单片机原理及其应用 教学课件 作者 陈立周 陈宇 第3章.ppt_第3页
单片机原理及其应用 教学课件 作者 陈立周 陈宇 第3章.ppt_第4页
单片机原理及其应用 教学课件 作者 陈立周 陈宇 第3章.ppt_第5页
资源描述:

《单片机原理及其应用 教学课件 作者 陈立周 陈宇 第3章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章汇编语言程序设计第一节汇编语言程序的格式第二节伪指令第三节 汇编语言程序的编写步骤及基本结构第四节程序设计举例本章要点本章介绍 汇编语言程序的书写格式、编写步骤以及程序的基本结构。通过一些具体范例,了解与掌握编程方法并从中掌握程序设计的基本技巧。第一节汇编语言程序的格式汇编语言编写的程序由语句组成,每一语句占一行填写一条指令。每行分4段,分别为标号、操作码、操作数和注释。ORG2000HADDR:MOVA,00H;累加器清零MOV41H,A;41H、42H清零MOV42H,AMOVR2,0AH;设定累加次数MOVR1,30H;设定数据首地址

2、LOOP:MOVA,@R1;取数ADDA,41H;累加到41HJNCNEXT;是否有进位INC42H;有进位42H加1NEXT:MOV41H,A;将和存入41HINCR1DJNZR2,LOOPLJMP$END标号:代表该行指令所在的地址,结尾应加一冒号操作码:助记符或伪指令的符号。操作数:操作所需要的数据或数据的存储位置来源注释:对语句的说明,也可不加注释返回本章首页第二节伪指令伪指令不执行任何操作,汇编时也不生成目标程序。它仅仅提供对汇编的要求。汇编成机器语言后,伪指令就不存在了。以下为常用的伪指令:1.ORG(Origin)::指明汇编起始点

3、地址。2.END:指明源程序至此结束。3.EQU(Epual):赋值伪指令,可对地址标号进行赋值。4.DB(DefineByte):定义从指定标号地址开始所存放的字节数据,多字节时各字节间用逗号隔开。5.DW(DefineWord):定义从指定的标号地址开始,所存放的字数据。跟DB一样,输入几个字时各字间要用逗号隔开。6.DS(DefineStorage):定义存储区,表示从标号所指的存储单元开始,保留的内存单元数量,以供程序使用。返回本章首页第三节 汇编语言程序的编写步骤 及基本结构一、顺序结构:顺序结构是指程序按指令顺序逐条执行的一种结构。也

4、是程序结构中最简单的一种结构。二、分支结构:指程序中具有转移指令,可根据转移条件决定是转移还是继续执行下一条指令。几种分支结构程序的框图三、循环结构循环结构由四个环节组成。1.初始化部分:对循环体中参加操作的有关参数、地址等赋以初始值,并指定循环结束条件。2.循环体部分:指每次循环都需要重复执行的程序段。3.修改初始值:每次循环结束都要对初始值进行修改,特别是判断结束条件的参数,每经一次循环后都要作相应的修改,以便决定是否结束循环。4.结束判断部分:检查结束条件是否满足,若条件满足停止循环,否则返回继续执行循环体。循环结构框图图中每执行一次循环体

5、后,都要检查结束条件是否满足,若条件满足停止循环,否则返回继续执行循环体。右边两图区别是先检查循环是否结束后修改初值,还是先修改初值后检查循环是否结束。顺序结构的程序举例例3-1将地址为2000H、2001H、2002H的片外数据存储单元的内容,分别传送到2002H、2003H、2004H存储单元中去。ORG0000HLJMP1000HORG1000HMOVDPTR,#2002HMOVXA,@DPTRMOVDPTR,#2004HMOVX@DPTR,AMOVDPTR,#2001HMOVXA,@DPTRMOVDPTR,#2003HMOVX@DPTR,

6、AMOVDPTR,#2000HMOVXA,@DPTRMOVDPTR,#2002HMOVX@DPTR,ASJMP$分支结构的程序举例例3-2有甲乙两数存于41H和42H存储单元,运算符号的ASCII码存于40H单元,编写一根据40H的符号,对甲乙两数进行相应运算的程序;井将运算结果存于43H单元。ORG0000HLJMP0100HORG0100MOVA,40HCJNEA,#2BH,MINUSPLUS:MOVA,41HADDA,42HMOV43H,ASJMPCLOSEMINUS:CJNEA,#2DH,ERRCLRCMOVA,41HSUBBA,42HM

7、OV43H,ASJMPCLOSEERR:MOV43H,#0FFHCLOSE:SJMP$循环结构的程序举例例3-3有一组数据,存放在30H为首地址的内存单元,数据长度为32个。试将每一个数分别取出加1,再存人以40H为首地址的内存单元。ORG0000H0000020100LJMP0100H0100ORG0100H0100784FMOVR0,#4FH0102795FMOVR1,#5FH01047F20MOVR7,#20H0106E6LOOP:MOVA,@R0010704INCA0108F7MOV@R1,A010918DECR0010A19DECR10

8、10BDFF9DJNZR7,LOOP010D80FESJMP$END循环结构程序举例例3-4编制一延时子程序,使执行这一段程序延时2s。

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

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

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