第3章 单片机汇编程序设计.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章 单片机汇编程序设计 3.2 MCS-51系列单片机寻址方式 3.3 MCS-51系列单片机指令系统 例: MOV A,#30H MOV 4FH,A MOV R0,#20H MOV @R0,4FH MOV 21H,20H 说 明: ② Ri作8位数据指针,寻址256B片外RAM空间(页内寻址): MOVX A,@Ri ;A←(P2Ri) (读) MOVX @Ri,A ;(P2Ri)←A (写) 通过@Ri间接寻址只能对片外数据存储器的低端的256字节访问,访问时将低8位地址放于Ri中 例:实现片外数据存储器数据传送(2000H) →(2100H)。 特点: MOVC A,@A+DPTR指令可访问整个ROM的64KB空间,表格可放在ROM的任何位置,与MOVC指令无必然的关系。 MOVC A,@A+PC指令优点:不改变PC的状态,根据A的内容取表格常数。 缺点:(1)表格只能存放在查表指令以下的256个单元内。 (2)当表格首地址与本指令间有其它指令时,须用调整偏移量,调整量为下一条指令的起始地址到表格首址之间的字节数。 例:设 A=02H,B=56H,执行下列指令后, SP= ? ,A= ? ,B= ? 。 练习: 说明程序执行过程中,SP的内容及堆栈中内 容的改变过程。 程序如下: MOV SP,#30H MOV A,#20H MOV B,#30H PUSH A PUSH B … … POP A POP B 习题:找出指令错误并改正: 1.MOV A,#1000H ; A←1000H(A装1个字节数) 2.MOVX A,1000H ; A←(1000H)片外RAM(DPTR、Ri) 3.MOVC A,1000H ; A←(1000H)片外ROM(DPTR、PC) 4.MOVX 60H,A ;片外RAM(60H)←A(应为MOV) 5.MOV R0,60H MOV 61H,@R0 ;片内RAM:(61H)←(60H) (片内RAM可直接寻址) 6. XCH R1,R2 ;R1? R2(必须有A参加) 7. MOVX DPTR,#2000H ;DPTR←2000H(应为MOV) 8. MOVX 60H,@DPTR ;片内RAM←片外RAM (必须有A参加) 调整过程为: (1)若累加器A的低四位为十六进制的A~F或辅助进位标志AC为1,则累加器A中的内容作加06H调整。 (2)若累加器A的高四位为十六进制的A~F或进位标志CY为1,则累加器A中的内容作加60H调整。 例如:求BCD码48+69=?117 0100 1000 B + 0110 1001 B 1011 0001 B + 0110 0110 B 加6修正 1 0001 0111 B ①低4位向高4位进位,表明低位和大于9,需加6修正; ②高位由于获得进位而出现非法码,因此也需要加6修正。 修正后,结果为117,正确。 思考:BCD码减法,如何修正?(求减数对9A的补码) 9A的原码为1 110 0110 B=66H。 CLR C MOV A,R5 RLC A MOV R5,A MOV A,R6 RLC A MOV R6,A 一、无条件转移指令 例:计算转移指令的相对偏移量 rel,并判断是否超出转移范围? 二、条件转移指令 ?例:利用DJNZ指令设计循环延时程序,已知fosc=12MHz。 1)? 单循环延时: DELAY: MOV R7,#10 ;1T DJNZ R7,$ ;2T △t=2×1μs×10+1×1μs=21μs ? 2)? 双重循环延时: DELAY: MOV R7,#0AH ;1T DL: MOV R6,#64H ;1T DJNZ

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档