单片机应用技术第三章.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文档。上传文档
查看更多
例3-7 设内RAM(30H)=60H,(60H)=10H,P1口作为输入口,其输入的数据为CAH。 MOV R0,#30H ;R0=30H MOV A,@R0 ;A=(R0)=(30H)=60H MOV R1,A ;R1=A=60H MOV B,@R1 ;B=(R1)=(60H)=10H MOV @R1,P1 ;(R1)=(60H)=P1=CAH MOV P2,@R1 ;P2=(R1)=(60H)=CAH 课堂练习:P57 1,2 16位数据传送指令 MOV DPTR,#data16 ;data16→DPTR 将16位立即数送入DPTR,其中数据高8位送入DPH中,数据低8位送入DPL中。用MOVC指令,则一定是ROM地址,用MOVX指令,则一定是外RAM地址。 MOV DPTR,#1234H ;DPTR=1234H 该指令也可以用两条8位数据传送指令实现: MOV DPH,#12H ;DPH=12H MOV DPL,#34H ;DPL=34H,DPTR=1234H 外RAM传送指令(4条) ① MOVX A,@Ri ;(Ri)→A,i=0、1 ② MOVX A,@DPTR ;(DPTR)→A ③ MOVX @Ri,A ;A→(Ri),i=0、1 ④ MOVX @DATR,A ;A→(DATR) 说明: MOVX指令用于80C51与片外RAM之间的数据传送;MOV指令用于80C51与片内RAM之间的数据传送。 对80C51片外RAM的访问必须采用间接寻址方式,8位间址寄存器R0、R1,16位间址寄存器DPTR。 对外部数据存储器的访问必须通过累加器A。 前两条指令为读外RAM指令,后两条指令位写外RAM指令。 例3-8 内RAM 10H单元数据送外RAM 10H单元 MOV A,10H MOV R0,#10H MOVX @R0,A 外RAM 30H单元数据送内RAM 30H单元 MOV R0,#30H MOVX A,@R0 MOV 30H,A 外RAM 1000H单元数据送内RAM 20H单元 MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A 外RAM 2010H单元数据送外RAM 2020H单元 MOV DPTR,#2010H MOVX A,@DPTR MOV DPTR,#2020H MOVX @DPTR,A 读ROM指令 程序中有时会涉及一些数据(或称为表格),放在ROM中,需要去读。 ① MOVC A,@A+DPTR ;(A+DPTR)→A ② MOVC A,@A+PC ;PC+1→PC,(A+PC)→A 作业:P61 3 例3-9 ROM 2000H单元数据送内RAM 20H单元 MOV DPTR,#2000H MOV A,#00H MOVC A,@A+DPTR MOV 10H,A ROM 2000H单元数据送外RAM 80H单元 MOV DPTR,#2000H MOV A,#00H MOVC A,@A+DPTR MOV R0,#80H MOVX @R0,A ROM 2000H单元数据送外RAM 1000H单元 MOV DPTR,#2000H MOV A,#00H MOVC A,@A+DPTR MOV DPTR,#1000H MOVX @DPTR,A 堆栈操作指令(2条) ① PUSH direct ;SP+1→SP,(direct)→(SP) ② POP direct ;(SP)→(direct),SP-1→SP 说明: PUSH为入栈指令 例PUSH 30H;(30H)=2BH,具体操作是: ①先将堆栈指针SP的内容(0FH)加1,指向堆栈顶的一个空单元,此时SP=10H; ②然后将指令指定的直接寻址单元30H中的数据(2BH)送到该空单元中。 入栈操作: POP为出栈指令 例 POP 40H; (40H)=4CH,具体操作是: ①先将SP所指单元0FH(栈顶地址)中的数据(4CH)弹出,送到指定的内RAM单元40H,(40H)=4CH; ②然后SP-1→SP,SP=0EH,SP仍指向栈顶地址。 出栈操作: 例3-11 已知SP=60H MOV DPTR,#1234H ;DPTR=1234H PUSH DPH ;SP=SP+1=61H,(61H)=DPH=12H PUSH DPL ;SP=SP+1=62H,(62H)=DPL=34H MOV DPTR,#5678H ;DPTR=5678H POP DPH

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档