单片机原理与应用4.ppt

  1. 1、本文档共147页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理与应用4

ASCII:MOV A, @R0 ;待转的ASCII码送入A CLR C SUBB A, #30H ;减去30H CJNE A, #0AH,NEXT NEXT:JC NEQ;小于0AH为00~09数字转NEQ SUBB A,#07H ;大于0AH为字符A~F需再减去07H NEQ: MOV @R1, A ;存转换后的结果 INC R0 INC R1 DJNZ R7,ASCII ;判是否所有转换都结束 RET ;转换都结束返回 例4.36 二进制数转换为ASCII码的子程序 对0~9的二进制数加上30H为其ASCII码,A~F的二进制数则加上37H。 入口:R0←二进制数的单元首地址 R1←转换后的结果存放首地址 R7←需要转换的字节数 EXBCD:MOV A, @R0 ;取待转换的数 CLR C CJNE A, #0AH,NEXT NEXT: JC EQU1;小于0AH为0~9的数字转至EQU执行 ADD A,#37H ;大于0AH为A~F的字符,则加上37H SJMP EXIT EQU1:ADD A, #30H ;是0~9的数字则加上30H EXIT: MOV @R1, A ;存转换后的结果 INC R0 INC R1 DJNZ R7, EXBCD ;为转换完,转至EXBCD执行 RET ;全部转换完,返回 三、查表程序 例4.37:用DPTR查表(查0~9平方表) TA: PUSH DPH PUSH DPL MOV DPTR, #TAB MOVC A, @A+DPTR POP DPL POP DPH RET ORG 2000H TAB: DB 00H, 01H, 04H, 09H DB 10H, 19H, 24H, 31H DB 40H, 51H ORG 1000H 1000 C083 TA: ADD A, #01H ;# 01H 为偏移量 1002 83 MOVC A, @A+PC 1003 22 RET 1004 00 DB 00H, 01H, 04H, 09H 1005 01 DB 10H, 19H, 24H, 31H 1006 04 DB 40H, 51H 1007 09 END 1008 10 1009 19 100A 24 例4.38:用PC查表(查0~9平方表) 例4.39:将片内RAM 30H单元中的两位压缩BCD码转换成二进制数送到片内RAM 40H单元中。 两位压缩BCD码转换成二进制数的算法为: (a1a0)BCD=10×a1+a0 程序流程图如右图所示。 程序如下: ORG 1000H START: MOV A, 30H ; 取两位BCD压缩码a1a0送A ANL A, #0F0H ; 取高4位BCD码a1 SWAP A ; 高4位与低4位换位 MOV B, #0AH ; 将二进制数10送入B MUL AB ; 将10×a1送入A中 MOV R0, A ; 结果送入R0中保存 MOV A, 30H ; 再取两位BC

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档