MCS-51单机指令系统.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.25 16位数的算术左移一次。16位数存放在内部RAM的M1和M1+1单元,低8位在先。 解:算术左移就是将操作数左移一位,并使最低位补0,相当于乘2操作。16位数完成算术左移,应将低8位高8位依次左移一位,最低位补0。 CLR C MOV A,M1 RLC A MOV M1,A MOV A,M1+1 RLC A MOV M1+1,A 电气工程学院 3.9控制转移和位操作指令 控制转移指令 长转移: LJMP addr16 绝对转移:AJMP addr11 短转移: SJMP rel 散转指令:JMP @A+DPTR 1.无条件转移指令 电气工程学院 (1)长转移指令(寻址范围64K) LJMP NEXT ;应用形式 LJMP addr16 ;指令助记符 (2)绝对转移指令(2K) AJMP addr11 ;指令助记符 AJMP NEXT ;应用形式 电气工程学院 (3)短转移指令(-126~+129) SJMP rel ;指令助记符 SJMP NEXT ;应用形式 目的地址=源地址+地址偏移量(rel)+转移指令字节数 电气工程学院 (4)变址寻址转移指令 例3.30 应用系统中有K0~K3 4个按键。如果其中某键按下,键检测程序将对应的键号(0~3)送入累加器A,请编写一段程序,根据A中的键号转去执行相应的键处理程序PM0~PM3。 JMP @A+DPTR PMTB: LJMP PM0 LJMP PM1 LJMP PM2 LJMP PM3 MOV R1,A RL R1 ADD A,R1 ;A*3 MOV DPTR,#PMTB JMP @A+DPTR 电气工程学院 2.条件转移指令 (1)累加器A判零转移指令 (2)比较条件转移指令(实际上进行减法操作,若A中结果不为零发生跳转) CJNE A,#data,rel CJNE A,direct,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel 电气工程学院 (3)减1条件转移指令(减一非零跳转) 电气工程学院 例3.32 (P116)试编写一程序将内RAM中以DAT为起始地址的数据块中的连续10个无符号数相加,将和送到SUM单元。设和不超过一个字节。 ORG 0000H MOV R2,#0AH MOV R0,#DAT1 CLR A LOOP: ADD A,@R0 INC R0 DJNZ R2,LOOP MOV SUM1,A SJMP $ END 电气工程学院 子程序调用和返回指令 RET(子程序返回) RETI(中断服务程序返回) (1)调用指令 LCALL addr16 ①长调用指令 ②绝对调用指令 ACALL addr11 (2)返回指令 电气工程学院 位操作指令 1.位传送指令 MOV C,bit MOV bit,C CLR C CLR bit SETB C SETB bit 2.位置位和清零指令 电气工程学院 3.位运算指令 ANL C,bit ANL C,/bit ORL C,bit ORL C,/bit CPL C CPL bit 电气工程学院 4.位控制转移指令 JB bit,rel JNB bit,rel JBC bit,rel (1) 以Cy为条件的转移指令 JC rel JNC rel (2) 以位的内容为条件的转移指令 电气工程学院 例3.38(P121) 内部RAM的M1, M2单元中各有一个无符号8 位二进制数,编程比较它们的大小,并把大数送入MAX单元. MOV A,M1 CJNE A,M2,NEXT NEXT: JNC NEXT1 MOV A,M2 NEXT1:MOV MAX,A RET 电气工程学院 例:结合第二章的8155例子,将70H~75H内存储的01H,02H,03H,04H,05H,06H,显示在六位数码管上 字形表 0:3FH,1:06H 2:5BH,3:4FH 4:66H,5:6DH 6:7DH,7:07H 8:7FH,9:6FH 电气工程学院 显示缓冲区首地址70H送R0 字位控制初值送R3 取待显示数据送A 查段选码 8155B口输出段选码 延时1ms 循环变量调整 6位显示完成? 子程序返回 Y N 8155C口输出字位控制 电气工程学院 DISPLAY: MOV A, MOV DPTR,#2100H MOVX @DPTR,A DISP: MOV R0,#70

文档评论(0)

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

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

1亿VIP精品文档

相关文档