51系列单片机程序设计解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4. 2 基本程序结构
4.2.1 顺序结构
例4-1,将内部 RAM 中 20H 单元和 30H 单元的无符号数 相加,存入R0(高位)和R1(低位)中。源程序如下: MOV A,20H ;取出被加数 ADD A,30H ;两数相加 MOV R1,A ;低位存入R1 CLR A ; ADDC A,#00H ;取进位标志 MOV R0,A ;高位存入R0 RET
4.1 汇编语言程序设计概述
4.1.2 汇编语言伪指令 7、位地址赋值伪指令BIT 格式:字符名称 BIT 位地址 说明:该伪指令给字符名称赋予位地址(片内RAM和SFR中的 位地址),常用于位操作程序中。例如: FLAG BIT 20H 即将位地址20H赋予字符名称FLAG。 8、定义汇编结束伪指令END 格式:[标号:]END 说明:汇编结束伪指令END的作用是通知汇编程序,汇编源程 序到此结束。在一个汇编程序中,只允许出现一条END伪指 令,且必须安排在整个源程序的末尾处。
4. 2 基本程序结构
4.2.2 分支结构
1、单分支选择结构 当程序的判断仅有两个出口(分叉),即两者选一时,称为 单分支结构。通常用条件判断指令来选择并确定程序的出口。 例4-3.设内部RAM 40H和41H单元中存放2个8位无符号二进制 数,试编程找出其中的大数存人30H单元中。源程序如下: MOV A,40H CJNE A,41H,LOOP ;取2个数进行比较 LOOP: JNC LOOP1 ;根据CY值,判断单分支出 MOV A,41H ;41H单元中是大数 LOOP1: MOV 30H,A ;40H单元中是大数 RET
4. 2 基本程序结构
4.2.2 分支结构
分支结构程序利用条件转移指令,使程序在执行 某一指令后(产生测试条件),根据所规定的条件 满足与否改变其后程序执行的顺序(产生分叉), 即根据判断条件的成立与否来确定程序的走向。分 支结构程序的特征是程序段中有控制转移类指令 (条件转移指令)。 依据程序分叉的数目,可将分支结构程序细分为 单分支选择结构和多分支选择结构两类。
4.1 汇编语言程序设计概述
4.1.1 汇编语言的特点及语句格式 2、汇编语言的语句格式 MCS-51系列单片机汇编语言的语句格式如下: [<标号>]:<操作码> [<操作数>];[<注释>] ◇ [<标号>] —— 标号是汇编语句地址的符号表示。 ◇ <操作码> ——用于规定该语句所执行的操作。 ◇ [<操作数>] —— 操作数为汇编指令的操作提供数据或地址 ◇ [<注释>] ——注释是指对一条汇编语句或一段汇编语言程序 的说明,以增加汇编语言程序的可读性。
4.1 汇编语言程序设计概述
4. 2 基本程序结构
百度文库
基本程序结构
1、顺序结构程序 2、分支结构程序 3、循环结构程序 4、子程序 5、中断程序
4. 2 基本程序结构
4.2.1 顺序结构
顺序结构是各类程序中最简单的,也是最基本的 程序结构。顺序结构程序的特征是整个程序段没有 任何转移指令。主要由数据传递类指令和数据运算 类指令组成,通常用于执行数据传送和较为简单的 算术或逻辑运算任务。
4.1 汇编语言程序设计概述
4.1.2 汇编语言伪指令 5、双字节数据赋值伪指令DW 格式:[标号:] DW数据表(双字节) 说明:该伪指令与DB伪指令的不同之处在于DW定义(赋值) 的是双字节数据,而DB定义(赋值)的是单字节数据。高8 位数据安排在低地址单元,低8位数据安排在高地址单元。 6、预留空间定义伪指令DS 格式:[标号:] DS 操作数 说明:该伪指令的作用是通知汇编程序,从指定的地址单元开 始(通常由标号指定首地址),保留由操作数(常数或表达 式)规定的字节空间。
4.1 汇编语言程序设计概述
4.1.2 汇编语言伪指令
2、赋值伪指令EQU 格式:字符名称 EQU 操作数 说明:该指令用于字符名称赋值。在同一个 源程序中,任何一个字符名称只能赋值一次。 且一旦赋值之后,整个源程序中该字符的值 就固定不变了。例如: ADPORT EQU 1001H 即给字符名称ADPORT 赋值16进制数1001H。
4.1 汇编语言程序设计概述
4.1.1 汇编语言的特点及语句格式
1、汇编语言的特点: 汇编语言的特点归纳如下: ◇ 助记符指令与机器指令一一对应; ◇ 程序代码效率高,占用存储空间小,运行速度快, 汇编语言程序往往是最优化的程序; ◇ 助记符指令(汇编指令)与计算机硬件联系紧密, 要求编程人员对计算机硬件较为熟悉; ◇ 汇编语言程序缺乏通用性,移植性较差。
4.1.2 汇编语言伪指令
4、字节数据赋值伪指令DB 格式:[标号:] DB数据表(字节) 说明:该伪指令用于定义(赋值)若干字节数据表 (固定常数),并存放在指定地址单元开始的程序 存储器中。 例如: ORG 0050H TABLE:DB 99H,88H 即表示在地址0050H(标号TABLE)开始定义(赋 值)两个字节数据(99H,88H)。
单片机原理与接口技术
第四章 MCS-51系列单片机程序设计
2010/5/18
4.1 汇编语言程序设计概述



计算机是仿照人的思维方式顺序执行一条条指令来完成特定 任务的机器,计算机程序因此被定义为指令或语句的“有序 集合”,程序设计是指编写计算机程序的过程。 汇编语言是用指令助记符等表示的计算机指令,采用汇编语 言编写的程序被称为汇编语言程序。汇编语言程序具有代码 效率高(编译后的指令代码占用存储空间小)和执行时间短 等优势和特点。 由于单片机的存储器等资源有限,单片机应用程序中经常需 要面对硬件操作,且对程序执行的时间有较为严格的要求或 限制。因此,汇编语言程序设计是单片机应用系统设计的重 要基础之一。
4.1 汇编语言程序设计概述
4.1.2 汇编语言伪指令
3、数据地址赋值伪指令DATA 格式:字符名称 DATA 操作数
说明:DATA伪指令的功能与EQU伪指令相似,不同
之处在于DATA伪指令所定义的字符名称可先使用后
定义(赋值),也可先定义(赋值)后使用。在程
序中它常用来定义(赋值)数据地址。
4.1 汇编语言程序设计概述
4.1 汇编语言程序设计概述
4.1.2 汇编语言伪指令
1、起始地址定位伪指令ORG 格式:[标号]:ORG 操作数 说明:其功能是指出紧接其后的指令的目标代码的 第一个字节在程序存储器中的绝对地址。例如: ORG 0030H START:MOV A,#33H ...... 即定义标号START表示的起始地址值为0030H,该 段程序的指令代码从该地址开始顺序存放。
相关文档
最新文档