第4章 80C51单片机软件基础知识.pptVIP

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

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * 第4章   80C51单片机软件基础知识 指令和程序设计语言 指令:是CPU根据人的意图来执行某种操作的命令。 程序设计语言:是实现人机交换信息的基本工具,分为机器语言、汇编语言和高级语言。 机器语言:用二进制编码表示每条指令,是计算机能直接识别和执行的语言。 汇编语言:是用助记符、符号和数字等来表示指令的程序设计语言。它与机器语言指令是一一对应的。 指令格式 89C51汇编语言指令格式 操作码 [目的操作数][,源操作数][;注释] 汇编语言指令对应的二进制代码格式 单字节指令:只有操作码,没有操作数 双字节指令:操作码和一个操作数 三字节指令:操作码和两个操作数 汇编语句 指令码 MOV R0,#0 78 00 MOV R1,#0 79 00 DJNZ R1,$ D9 FE DJNZ R0,$-4 D8 FA 4.2 80C51寻址方式 在高级语言如VB,定义一个整形变量: Dim a As Integer 在编写程序时,无需知道a在内存的位置。 在单片机中,必须由编程者自行分配内存地址。 寻址方式:如何找到存放操作数的地址,把操作数提取出来的方法。 寻址方式的种类 1、寄存器寻址 2、直接寻址 3、立即数寻址 4、寄存器间接寻址 5、变址寻址 6、相对寻址 7、位寻址 1、寄存器寻址 由指令指出寄存器组R0~R7中的某一个或其他寄存器(A,B,DPTR等)的内容作为操作数。 汇编指令 功能及说明 MOV A,R0 (R0)→A 把R0的内容复制到A中 MOV P1,A (A)→P1 把A的内容写到P1口 ADD A,R0 (A)+(R0)→A A的内容加上R0的内容,结果在A中 2、直接寻址 在指令中直接给出操作数所在存储单元的地址。指令中操作数部分是操作数所在地址。 直接寻址方式可访问片内RAM的128个单元以及所有的SFR。对于SFR,既可以使用它们的地址,也可以使用它们的名字。 汇编指令 功能及说明 MOV A,3AH (3A) →A 把内存单元3AH的数据复制到A寄存器中 MOV A,P1 (P1口) →A MOV A,90H 90H是P1口的地址 3、立即数寻址 指令操作码后面紧跟的是一字节或两字节操作数,用“#”号表示,以区别直接地址。 地址 38 39 3A 3B 3C 3D 3E 3F 内存数据 78 00 79 4A 87 44 48 9B MOV A,3AH ;执行后A的值为79H MOV A,#3AH ;执行后A的值为3AH MOV DPTR,#2000H ;2000H→DPTR ;(DPH)=20H ;(DPL)=00H 4、寄存器间接寻址 操作数的地址事先存放在某个寄存器中,寄存器间接寻址是把指定寄存器的内容作为地址,由该地址所指定的单元内容作为操作数。 89C51规定:用R0或R1作为间接寻址寄存器,它可寻址内部地址RAM低位的128B单元内容。还可采用DPTR作为间接寻址寄存器,寻址外部数据存储器的64KB空间。 间接寻址例子 地址 38 39 3A 3B 3C 3D 3E 3F 内存数据 78 00 79 4A 87 44 48 9B 修改内存单元3AH的值为45H: 用直接寻址:  MOV 3AH,#45H 用间接寻址:  MOV R0,#3AH MOV @R0,#45H 计算38H-3FH的和: MOV R0,#38H MOV R7,#8 MOV A,#0 Sum1: ADDC A,@R0 INC R0 DJNZ R7,Sum1 只有R0和R1可用作间接寻址 5、变址寻址(基址寄存器+变址寄存器间接寻址) 以某个寄存器的内容为基地址,在这个基地址的基础上加上地址偏移量形成真正的操作数地址。 89C51中采用DPTR或PC为变址寄存器,A的内容为地址偏移量。 变址寻址只能访问程序存储器,访问范围为64KB。 变址寻址例子1 地址 0100 0101 0102 0103 0104 0105 0106 0107 ROM数据 78 00 79 4A 87 44 48 9B 指令: MOVC A,@A+DPTR A DPTR 指令执行后A的值 01 0103 87 02 0103 44 00 0100 78 00 0101 00 变址寻址例子2 ;--

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档