第4章-MCS-51单片机汇编语言程序设计.ppt
ORG0100H
DELAY:MOVR4,#248;0.999990s,延时子程序
D1:MOVR5,#237
D2:MOVR6,#7
DJNZR6,$
DJNZR5,D2
DJNZR4,D1
MOVR4,#26
DJNZR4,$
DJNZR3,DELAY
RET
END4.3综合编程举例
【例4-13】从片外RAMBLOCK单元开始有一无符号数数据块,数据块长度存入片内RAMLEN单元,求出其中最大数存入片内RAMMAX单元。
这是一基本搜索问题。采用两两比较法,取两者较大的数再与下一个数进行比较,若数据块长度(LEN)=n,则应比较n-1次,最后较大的数就是数据块中的最大数。
为了方便地进行比较,我们使用CY标志来判断两数的大小,使用B寄存器作为比较与交换的暂存器,使用DPTR作外部RAM地址指针。
参考程序如下:
ORG0400H
BLOCKDATA0100H;定义数据块首址
MAXDATA31H;定义最大数暂存单元
LENDATA30H;定义长度计数单元
FMAX:MOVDPTR,#BLOCKDECLEN;长度减1
MOVXA,@DPTR;取数至A
LOOP:CLRC;0→CY
MOVB,A;暂存于B
INCDPTR;修改指针
MOVXA,@DPTR;取数
SUBBA,B
JNCNEXT
MOVA,B;大者送A
SJMPNEXT1
NEXT:ADDA,B;(A)(B),则恢复A
NEXT1:DJNZLEN,LOOP;未完继续比较
MOVMAX,A;存最大数
SJMP$
END
本章主要介绍了MCS-51系列单片机汇编语言程序设计和汇编语言的基本概念以及常用的8个伪指令。重点介绍了几种典型的程序结构:
(1)顺序结构
(2)分支结构
(3)循环结构
(4)子程序
并给出了几种典型的应用实例,希望这些实例程序能使读者快速且较为全面地掌握单片机汇编语言编程的特点。本章小结AT89S51GNDLED0图P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.074LS244P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.05VK7K0LED7…P3.2外部中断0*第四章MCS-51单片机汇编语言程序设计教学提示计算机要完成一项工作,必须按顺序执行各种操作,也就是用计算机所能接受的语言把解决问题的步骤描述出来,这就是编制程序,然后由计算机去执行程序。MCS-51单片机的程序设计主要采用两种语言:一种是汇编语言,另一种是C语言(C51)。在汇编语言程序设计中使用的语句有两种,一种是指令系统中的指令,另一种是伪指令。教学目标:
本章介绍MCS-51单片机汇编语言程序设计和汇编语言的基本概念以及常用的伪指令,介绍顺序、分支、循环结构程序和子程序的设计方法。通过本章的学习,要求学生掌握MCS-51单片机汇编语言程序的基本设计方法,能够熟练地运用指令和伪指令编写汇编语言程序,并具有较强的程序阅读能力。4.1汇编语言程序设计概述一、程序设计语言简介1.机器语言特点:质量高指令程序难编难读,不易交流,也不易修改调试,应用受到很大的限制。2.汇编语言
汇编语