单片机第10讲.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.3 汇编语言程序设计举例 一、 算术运算程序 1.加减法运算 不带符号的两个多字节数减法 例:设有两个N字节无符号数分别存放在内部RAM的单元中,低字节在前,高字节在后,由R0指定被减数单元地址,由R1指定减数单元地址,其差存放在原被减数单元中。 SUB1: CLR   C MOV  R2,#N LOOP:MOV  A,@R0 SUBB  A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP JC QAZ;最高字节有借位转溢出处理 RET QAZ: 多字节加法子程序,Z=X+Y。 ADDS:CLR C MOV R2,#23H LOOP:MOV A,@R0 ADDC A,@R1 ;加一字节 MOV @R0,A ;存和一字节 INC R0 ;修改指针 INC R1 DJNZ R2,LOOP ;全部字节加完? RET 2、多字节无符号数乘除运算 相加计算多字节乘法程序。步骤: (1)部分积清零。 (2)检测乘数各位,为1则部分积对位加被乘数,否则加0。 (3)对位方法:被乘数左移或部分积右移。 二、代码转换程序 (三) BCD码与二进制数之间的转换 把单字节二进制数转换为十进制数 例:已知二进制数存放在30H中,请把此数转换为十进制BCD码并存放在31H单元中。 程序如下:MOV R7,#08H ;循环8次(8位) MOV R6,#0 ;存放结果单元清零 MOV A,30H ;把待转换的数送至累加器A LP: RLC A ;把A中的最高位送至C MOV R5,A ;暂存A的值 MOV A,R6 ;把把原结果先送至A ADDC A,R6 ;A←R6*2+C DA A ;十进制调整 MOV R6,A ;结果暂存R6 MOV A,R5 ;恢复A的值为等转换数据 DJNZ R7,LP ;循环8次 RET ;返回 1、单循环定时程序: MOV R5,#TIME LOOP: NOP NOP DJNZ R5,LOOP 2、多重循环定时: 试计算延时程序的执行时间。 源程序 指令周期(M) 指令执行次数 三、 查表程序 1.查表指令 MOVC A,@A+DPTR MOVC A,@A+PC 2、查表程序举例 例:假定有4*4键盘,键扫描后把按键的键码放在累加器A中,键码与处理子程序入口地址的对应关系为: 键码    入口地址      0      RK0      1      RK1      2      RK2      … 程序如下: MOV  DPTR,#BS RL   A MOV  R2,A MOVC  A,@A+DPTR PUSH  ACC MOV  A,R2 INC  A MOVC A,@A+DPTR 补充: 利用单片机驱动一数码管,使其循环显示0—9 ORG 0000H START: MOV R0,#00H MOV DPTR,#TAB LOOP: MOV A,R0 CJNE A,#0AH,LOOP1 SJMP START LOOP1: MOVC A,@A+DPTR MOV P0,A ACALL DELAY

文档评论(0)

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

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

1亿VIP精品文档

相关文档