单片机基本原理及应用系统第4章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 第一节 程序设计语言概述 一、机器语言 二、汇编语言 三、高级语言 第二节 汇编语言语句结构及伪指令 一、汇编语言的语句结构 1.标号 2.操作码助记符 3.操作数 1)空白,即不需要写操作数,如DA A;RET。 2)寄存器名,如MUL AB;MOV A,@R0。 3)数值,如ADD A, #18H;ANL A等,这些数值可以用二进制(后缀为B)、十进制(后缀为D或省略)、十六进制(后缀为H)数的形式表示。 4)程序计数器的当前值S,如SJMP S+6,表示程序由当前指令的第一字节地址向前移动6个字节。 5)标号,如SJMP LOOP;LCALL D20MS。 第二节 汇编语言语句结构及伪指令 6)ASCII字符串,如‘MCS—51’表示由ASCII字符M、C、S、-、5、1的ASCII码所构成的一个数据块,注意这里的ASCII字符串要写在单引号中。 7)表达式,如ADD A,‘A’-1;VID EQU M+3,表达式一般是一些算术和逻辑运算的结合,不宜太复杂。 4.注释 二、伪指令 1.汇编起始指令ORG 2.汇编结束指令END 3.定义字节指令DB或DEFB 4.定义字指令DW或DEFW 5.赋值指令EQU 第二节 汇编语言语句结构及伪指令 6.数据地址赋值指令 7.位地址赋值指令 8.定义空间指令(定义存储器)DS或DEFS 9.定义标号指令DL或DEFL 第三节 汇编语言程序设计 一、程序设计的步骤 1.分析问题、确定算法 2.程序的结构设计 表4-1 流程图符号及说明 3.编写源程序 4.汇编 5.调试 第三节 汇编语言程序设计 1)正确选择程序存放的地址。 2)编写程序时,要注意检查所用的指令是否合法。 3)要注意分析题目,使程序有一定的通用性且易于修改,这一点要特别注意,要善于使用数据指针、工作寄存器Rn等。 4)为使程序在运行结束时,不会继续跑飞,可在程序的最后一行加一条指令,使程序暂停。 图4-1 例4-3-1流 程图 第三节 汇编语言程序设计 二、简单程序设计 1.数据运算: 例4-3-1 将存于片内RAM 70H单元开始的3个8位无符号数相加,结果送入73H单元。设其和仍为8位。 例4-3-2 将内部数据存储器的20H单元和片外数据存储器3000H单元的内容互换。 2.数制转换 例4-3-3 在片内RAM的30H单元中存有一个压缩BCD码,现在将其拆为两个非压缩BCD码,分别存放在31H和32H单元中。 例4-3-4 将40H单元的8位无符号数转化为BCD码,并按照从高位到低位的顺序依次存放在41H单元开始的地址中。 第三节 汇编语言程序设计 例4-3-5 将两位存放在内部RAM的50H单元的压缩BCD码十进制数转换成相应的ASCII码,并存入51H和52H单元,其中高位存放在52H单元。 3.数据的拼装 例4-3-6 设片内RAM内80H和81H单元中分别存放着8位二进制数,要求取出两个单元中的低半字节,合并成一个字节后,存入82H单元。 三、查表程序 1.用DPTR做基地址的查表步骤 1)把表的首地址送DPTR。 2)把所查表的项数(即在表格中的位置是第几项)送入累加器A中。 3)执行查表指令MOVC A,@A+DPTR,将查表的结果送入A中。 第三节 汇编语言程序设计 2.用PC做基地址的查表步骤 1)把所查表的项数送入累加器A中。 2)把MOVC A,@A+PC指令的下一条指令到表格首地址的指令字节数(即偏移量)与累加器A中的内容相加。 3)执行查表指令MOVC A,@A+PC,将查表的结果送入A中。 例4-3-7 设变量放在片内RAM的20H单元,取值范围为00H~09H,编制查表程序,查出变量的平方值,并放入片内RAM的21H单元。 例4-3-8 设有一个16路巡回检测报警系统,对温度进行检测。16路温度的最大允许值存放在程序存储器的数据表中,每个数据占用2字节。要求当任一路输入的结果大于最大允许值时,发出警报信号。 第三节 汇编语言程序设计 表4-2 Y=f(X) 第三节 汇编语言程序设计 例4-3-9 已知函数关系见表4-2。其中30H为表格结束标志,设自变量X存放在40H单元中,用查表法求函数值,并把结果送回41H单元保存。 四、循环程序 1.循环程序的组成 (1)初始化部分 这是循环程序的准备部分,如给循环次数计数器、地址指针和某些变量赋初值等。 (2)处理部分 该部分重复执行某些操作,这是循环程序的实体,也称为循环体。 (3)循环控制变量修改部分 每执行一次循环后,对地址指针、循环计数器作一次修改,使指针指向下一数据所在位置,为进入下一轮处理作准备。 第三节 汇编语言程序设计 (4)循环终止控制部分 根据循环计数器的值(即循环变量值)或其他循环条件,判断

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档