单片机原理及应用第4章汇编语言程序设计.pptVIP

单片机原理及应用第4章汇编语言程序设计.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

4.3.3查表程序1.查表指令 按顺序读出存储器中的数据称为查表。 80C51指令系统中有两条专用的查表指令: MOVCA,@A+DPTR MOVCA,@A+PC 这两条MOVC指令在指令系统中称为“程序存储器数据传送指令”。 它们的功能完全相同,使用时先确定好PC或DPTR的内容,然后只须有规律地改变A的内容,就可以进行程序存储器中表格数据的读出。2.查表程序举例 设计将R0中低4位的十六进制数转换为ASCII码的子程序。要求转换结果仍送回R0中。 ORG0000H …………… ORG0130H HEXTOASC:MOVA,R0 ANLA,#0FH MOVDPTR,#TAB MOVCA,@A+DPTR MOVR0,A RET TAB: DB30H,31H,32H,33H,34H DB35H,36H,37H,38H,39H DB41H,42H,43H,44H,45H,46H ………..编程举例例1第一个任务是要用单片机点亮一只和1脚相连发光二极管LED(要让灯不断地闪烁)。89C51 ORG0000H LJMPSTART ORG0030H/************主程序:**********/START:MOVSP,#5FHLOOP:SETBP1.0;(1);MOVP1,#0FFHLCALLDELAY;(2)CLRP1.0;(3);MOVP1,#00HLCALLDELAY;(4)AJMPLOOP;(5)/******以下子程序*******/DELAY:MOVR7,#250;(6)D1:MOVR6,#250;(7)D2:DJNZR6,D2;(8)DJNZR7,D1;(9)RET;(10)END;(11)第4章80C51单片机汇编语言程序设计4.1单片机程序设计语言概述及伪指令4.2汇编语言程序的基本结构形式4.380C51单片机汇编语言程序设计举例4.4单片机汇编语言源程序的编辑和汇编(不讲)4.5例题4.1单片机程序设计语言概述4.1.1机器语言和汇编语言(低级语言)机器语言:用二进制编码表示的指令,是计算机能直接识别并执行的指令。汇编语言:用助记符和专门的语言规则表示指令的功能和特征。 汇编语言是对机器语言的改进,比机器语言高级。汇编语言的最大优点是助记符与机器指令一一对应。用汇编语言编写的程序占用存储空间小,运行速度快,程序效率高。 缺点:难以记忆和使用,程序设计的技巧性较高,编程难度较大。要求使用者必须精通单片机的硬件系统和指令系统。缺乏通用性,程序不易移植。4.1.2单片机使用的高级语言对于8051单片机,现有4种语言支持,即汇编、PL/M、C和BASIC。C语言最终得到广泛应用。 可以大大提高单片机应用系统研制的开发效率。移植性好。高级语言的不足:生成的目标代码较长,导致应用程序运行速度较慢。伪指令(课本4.5节讲述)1、汇编语言源程序的格式标号:操作码操作数(0~3个);注释2.伪指令(所有伪指令在汇编时不产生目标代码,即不是真正的指令)(1)ORG--起始地址伪指令。格式:ORG16位地址 功能:规定程序段或数据块的起始地址 (2)END结束伪指令。格式:END 功能:用来表示程序结束汇编的位置 该伪指令后边的所有语句将不被汇编成机器码伪指令(课本4.5节讲述)(3)EQU--赋值伪指令。格式:字符名EQU数据或汇编符号 功能:将该指令右边的值赋给左边的“字符名” 例,AAEQUR0 K1EQU40 MOVA,AA;MOVA,R0 MOVA,K1;(40)→A(4)DATA--数据赋值伪指令格式:标号DATA 表达式 功能:用来将右边表达式的值赋给左边的字符名 例,ORG0030H

文档评论(0)

133****9232 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档