文档详情

单片机原理和应用第四章.ppt

发布:2017-07-23约4.76万字共85页下载文档
文本预览下载声明
第四章 汇编语言程序设计 回顾:MCS-51单片机系统硬件资源 MCS-51单片机指令系统 4.1 汇编语言程序设计方法 4.2 简单和分支程序设计 4.3 循环和查表程序设计 4.4 子程序和运算程序设计 4.1 汇编语言程序设计方法 4.1.1 程序设计步骤 1、汇编语言程序设计:根据设计任务要求,采用汇编语言编制程序的过程。 4.1.2 程序结构设计的基本方法 汇编语言程序设计基本要求: 4.2 简单和分支程序设计 4.2.1 简单程序设计 参考设计程序如下: ORG 1000H ADDR1 DATA 0040H ADDR2 EQU 60H MOV DPTR,#ADDR1 ; 源地址 = DPTR MOV R0, #ADDR2 ; 目标地址 = R0 MOV @R0, #00H ; 目标地址单元清零 MOVX A,@DPTR ; 源地址单元中BCD数送A MOV B,A ANL A,#0FH ORL A,#30H ; 完成低位BCD数转换 MOV @R0,A ; 存入60H INC R0 MOV A,B ANL A,#0F0H SWAP A ; 高位BCD数送低4位 ORL A,#30H ; 完成高位BCD数转换 MOV @R0,A ; 存入61H SJMP $ END 4.2.2 分支程序设计 分支程序的特点是程序中含有转移指令。 由于转移指令有无条件转移和条件转移之分,因此分支程序也可分为无条件分支程序和条件分支程序两类。 无条件分支程序中含有无条件转移指令,因简单这里不作专门讨论;条件分支程序中含有条件转移指令,是我们讨论的重点。 [例4.2] 已知VAR单元内有一自变量X,请按如下条件编出求函数值Y并将它存入FUNC单元的程序。 Y = 相应程序为: ORG 1000H VAR DATA 30H FUNC DATA 31H MOV A,VAR ; X送A JZ DONE ; 若X=0,则转DONE JNB ACC.7,POSI ; 若X0,则转POSI MOV A,#0FFH ; 若X0,则-1送A SJMP DONE ; 转DONE POSI: MOV A,#01H ; 1送A DONE:MOV FUNC,A ; 存Y值 SJMP $ END [例4.3] 某系有200名学生参加外语统考,若成绩已存放在MCS-51外部RAM始地址为ENGLISH的连续存储单元,现决定给成绩在95分~100分之间学生颁发A级合格证书和成绩在90分~94分之间学生颁发B级合格证书。试编制一个程序,可以统计A级和
显示全部
相似文档