- 1、本文档共62页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开始 设置源指针R0 设置目的指针DPTR 设置计数器R7 取源数据?A A ?送目的单元 修改源指针R0 修改目的指针DPTR 计数器R7-1=0 ? 结束 N Y 保存A中数据到R2 求低4位数据的ACSII码 恢复R2中数据到A 求高4位数据的ACSII码 修改目的指针DPTR A ?送目的单元 ORG 0000H AJMP STA ORG 0030H STA: MOV DPTR,#3000H MOV R0,#20H MOV R7, #4 LOOP:MOV A,@R0 MOV R2,A ANL A,#0FH ORL A, #30H MOVX @DPTR,A MOV A,R2 SWAP A ANL A,#0FH ORL A, #30H INC DPTR MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,LOOP SJMP $ END 11、 编程将内部RAM从40H开始的连续单元中存放着8个单字节的压缩BCD码,转变成单字节的二进制数,并存放在内部RAM从30H开始的连续单元中。 47H 99H 46H 11H 45H 00H 44H 90H 43H 78H 42H 56H 41H 34H 40H 12H 地址 内容 63H 37H 0BH 36H 00H 35H 5AH 34H 4EH 33H 38H 32H 22H 31H 0CH 30H 内容 地址 内部 RAM 内部 RAM 解题思路: 1、程序功能----数据转换 ANL / ORL 2、程序结构----循环结构 DJNZ控制循环 3、数据存放位置----均在内部RAM @R0,@R1寻址 4、传送方式----顺序传送 指针同时INC/DEC 2位BCD数转换为二进制数的方法 BCD数高4位数据(十位) X 10 + BCD数低4位数据(个位) 普通二进制数据 开始 设置源指针R0 设置目的指针R1 设置计数器R7 取源数据?A A X 10 ? A 修改源指针R0 修改目的指针R1 计数器R7-1=0 ? 结束 N Y 保存A中数据到R2 取高4位数据? A 保存A中数据到B 恢复R2中数据到A 取低4位数据? A A+B ?A A ? 目的单元 ORG 0000H MOV R0 , #40H MOV R1 , #30H MOV R7 , #8 LOP: MOV A , @R0 MOV R2,A ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV B,A MOV A,R2 ANL A, #0FH ADD A, B MOV @R1,A INC R0 INC R1 DJNZ R7 , LOP SJMP $ END ? 12、将外部RAM从地址3000H开始连续8个单元的ASCII码分别转换成BCD码,并组成压缩BCD码存放在内部RAM从地址30H开始的连续4个单元中。 3007H 37H 3006H 35H 3005H 30H 3004H 39H 3003H 38H 3002H 36H 3001H 34H 3000H 31H 地址 内容 57H 33H 90H 32H 68H 31H 14H 30H 内容 地址 外部 RAM 内部 RAM 解题思路: 1、程序功能----数据转换 ANL / ORL 2、程序结构----循环结构 DJNZ控制循环 3、数据存放位置----一个内部一个外部 @R0,@DPTR寻址 4、传送方式----顺序传送 源指针+2,目的指针+1 2个ASCII码合成1个压缩BCD码 31H,38H ?18H ASCII-30H = 非压缩BCD码 01H,08H 高位非压缩BCD码高低4位互换 10H + 低位非压缩BCD码 + 08H —————————————— ———————— 合成一个压缩BCD码 18H 开始 设置源指针DPTR 设置目的指针R0 设置计数器R7 取源数据?A 源指针 + 1 修改源指针DPTR 修改目的指针R0 计数器R7-1=0 ? 结束 N Y A – 30H ? A A中高低4位互换 保存A中数据到R2 取源数据 ? A A – 30H ? A A+R2 ? A A ? 目的单元 ORG 0000H MOV R0 , #30H MOV DPTR , #3000H MOV R7 , #4 L
文档评论(0)