04第四章 程序设计.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章汇编语言程序设计 4.1 汇编语言及其语句格式 1、汇编语言 这里介绍MCS-51单片机的汇编语言。 2、汇编语言的语句格式 一条汇编语言的语句包括四部分内容:标号、操作码、操作数和注释。其格式为: 标号:操作码 操作数;注释 例如:LOOP: MOV A , #20H ; (A)←20H 4.2 伪指令 1、定位伪指令 格式:ORG n 2、定义字节伪指令 格式:标号:DB X1, X2, ……Xn 此伪指令的功能是把Xi存入从标号开始连续的单元中。 3、定义双字节伪指令 格式:标号:DW X1,X2,……Xn 此伪指令的功能是把Xi存入从标号开始的连续单元中。 4、预留存贮区伪指令 格式:DS n DS n从标号指定单元开始,预留n个单元的存贮区。 5、赋值伪指令 格式:字符名称x EQU n 此指令的功能是将数据或地址n赋给字符名称。 6、结束汇编指令 格式: END END指示源程序到结束,常将其放在汇编语言源程序的末尾。 4.3 汇编语言程序设计过程 1、分析任务,确定算法或解题思路 2、根据算法和解决思路画出程序流程图 流程图是由一些框图和流程线组合而成: 置的框图连接在一起,位于不同框图的圈内, 应标注相同的字母。 3、根据流程图编写程序 4、上机调试程序 4.4 顺序结构程序设计 按照程序编写的顺序,依次执行。任何复杂的程序,都含有较大成份的顺序结构程序。 【例3-8】 将两位压缩BCD码转换成二进制数 编程思路:(a1a0)BCD= a1×10+a0 编程说明:待转换的两位压缩BCD码存放于R2,转换结果存回R2。 程序流程图如图3-1所示。 编程如下: START: MOV A , R2 ANL A , #0F0H ;取高位BCD码 SWAP A MOV B , #0AH MVL AB MOV R3 , A MOV A , R2 ANL A , #0FH ;取低位BCD码 ADD A , R3 MOV R2 , A END 查表程序 在单片机程序设计过程中,查表程序是一类非常有用的程序。在许多情况下,把本应该通过计算解决的问题通过查表的方式来解决,可以达到方便快捷的目的,使程序长度素缎,提高程序的执行效率。 所谓查表,就是根据变量x,在表格中找到对应的y,满足y=f(x)。这个表格式根据程序设计者提前通过计算或者测量的数据制定的,并通过编程建立在程序存储器中。用伪指令DB或DS来定义表格中与项数对应的函数值。 表格写在查表程序的最后,并且表格应有一个确切的首地址,以方便查找。 查表程序 1.用DPTR作为基址的查表操作: a 先把数据表格表头地址存放入DPTR b 然后把要查得的数在表中相对于表头地址的偏移量送入累加器A c 最后执行MOVC A,@A+DPTR 2.用PC作为基址的查表操作: a 用传送指令把所查数据的项数送入累加器A b 使用ADD A,#data指令对累加器A进行修正,data值由下式确定:PC当前值+data=数据表头地址 c 最后执行MOVC A,@A+PC 3.3.8 查表程序设计 【例3-15】利用查表的方法编写Y= X2 (X=0,1,2…9 )的程序。 编程说明: 设变量X的值存放在内存30H单元中,变量Y的值存入内存31H单元。先用远查表指令MOVC A, @A+DPTR 编写程序(参考程序1);再用近查表指令MOVC A , @A+PC 编写程序(见参考程序2)。 参考程序1: ORG 1000H START: MOV A , 30H MOV DPTR , #TABLE MOVC A , @A+DPTR MOV 31H , A TABLE: DB 0 , 1 , 4 , 9 , 16 DB 25 , 36 , 49 , 64 , 81 END 参考程序2: ORG 1000H START: MOV A , 30H ADD A , 02H MOVC A , @A+PC MOV 31H , A DB 0 , 1 , 4 , 9 , 16 DB 25 , 36 , 49 , 64 , 8

文档评论(0)

82393aa + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档