单片机原理及其应用第四(修订)简介.ppt

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及其应用第四(修订)简介

第4章 MCS-51汇编程序设计 4.1 汇编语言基本概念 4.2 汇编语言程序设计 4.1 汇编语言基本概念 4.1.1 程序设计语言 4.1.2 汇编语言的语句结构 4.1.3 伪指令 4.1.1 程序设计语言 程序设计语言的结构及其功能可以分为三种: 1.机器语言:机器语言是用二进制代码0和1表示指令和数据的最原始的程序设计语言。 机器语言编程困难,一般不再用其编程。 2.汇编语言:在汇编语言中,指令用助记符表示,地址、操作数可用标号、符号地址及字符等形式来描述。 比机器语言编程方便,但要熟悉机器硬件结构、指令系统才能用好它。 汇编语言与机器语言一样是面向机器的,无通用性。 3.高级语言:高级语言是接近于人的自然语言,面向过程而独立于机器的通用语言。 近年来单片机也流行采用高级语言编程。 如C51 4.1.2 汇编语言的语句结构 1.汇编语言的指令类型 MCS-51单片机汇编语言,包含两类不同性质的指令。 (1)基本指令:即指令系统中的指令。它们都是机器能够执行的指令,每一条指令都有对应的机器代码。 (2)伪指令:汇编时用于控制汇编的指令。它们都不是机器的指令,无机器码产生。 2.汇编语言的语句格式 汇编语言源程序是由汇编语句(即指令) 组成的。汇编语言一般由四部分组成。 其典型的汇编语句格式如下: 标号: 操作码 操作数 ;注释 START: MOV A,30H ;A←(30H) START: MOV A, #0 ; 赋初值 (4-1) (p.69) MOV R1, #0A0H ;计数器赋初值 MOV R2, LOOP: ADD A, R2 ;累加 DJNZ R1, LOOP HERE: SJMP HERE 标号:即符号地址,需要时加上。标号后加冒号;标号由字母开头(1-8字符),标号不能与指令助记符、预定义符号相同。 操作数:数值操作数,根据需要可用16进制 (后缀H)、10进制、二进制 (后缀B) 表示。16进制数以A~F开头时,前面要加’0’。 $符号的使用:程序最后一句可用 SJMP $ 代替。 注释:以分号开头,根据需要对于指令的作用加以解释。 4.1.3 伪指令(p50) 用汇编语言编写的程序必须经汇编(翻译)成机 器代码,单片机才可运行它。为了控制汇编程序如何 完成源程序的汇编过程并产生目标程序,需要在源程 序中加入汇编控制命令,即伪指令。 1.ORG :汇编起始地址命令 用来说明ORG指令以下程序段在存储器中存放的起始地址。 例如 ORG 1000H START: MOV A,#20H MOV B,#30H ┇ 一个程序中可多次使用ORG指令,地址要由小到大 排列。 2.EQU :赋值命令 给标号赋予一个确定的数值。其它语句可以引用这 个标号 TTY EQU 1080H 3.DB :定义数据字节命令 把数据以字节的形式存放在连续存储单元中。 ORG 1500H HERE: DB 56H,0A7H,35,‘A’ (1500h 56H A7H 23H 41H) 4.DW :定义数据字命令 按字的形式把数据存放在连续存储单元中。 ORG 1600H ABC: DW 1234H, 4567H (1600h 12H 34H 45H 67H) 5.DS :定义存储区命令 从指定的地址单元开始,保留一定数量存储单元。 ORG 1000H BASE: DS 50H 6.BIT:位定义命令 赋字符名为某个位地址值。 EA BIT 0AFH 7.END:汇编结束命令 告知汇编程序源程序结束 4.2 汇编语言程序设计 4.2.1 汇编语言程序设计步骤 4.2.2 汇编语言程序的汇编 4.2.3 顺序程序 4.2.4 分支程序 4.2.5 循环程序 4.2.6 子程序 4.2.7 查找程序 4.2.8 码制转换程序 4.2.9 程序举例 4.2.1 汇编语言程序设计步骤 1.分析问题 完成什么任务,解决什么问题;已知的数据,运算精度和速度; 2.确定算法 用何种方法解决问题;多个算法的比较;怎样组织数据; 3.设计程序流程图 把算法和解决问题的步骤具体化;通过流程图掌握程序的总体结构; 4.分配内存单元和I/O端口地址 片内RAM划分:工作寄存器组;堆栈区;其它暂存区和缓冲区等;片外RAM; 确定各I/O端口的地址 5.编写汇编语言源程序 按流程图编写

文档评论(0)

宝贝计划 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档