单片机软件试验.DOCVIP

  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文档。上传文档
查看更多
单片机软件试验

软件实验报告 软件实验一 一、实验目的 1.熟悉软件实验的基本步骤和汇编程序的调试方法; 2.了解内存块的移动方法; 3.了解将十六进制数转换成ASCII值的方法。 二、实验原理 用MOV和MOVX指令可以进行数据的赋值和移动,用循环可以完成大量数据的复制。 三、实验内容及步骤 软件设置为模拟调试状态,在所建的Project文件中添加例程1的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。打开CPU窗口,观察CPU窗口各寄存器的变化。打开View菜单中的Memory Window,可以观察内部RAM、外部RAM的数据和程序存储器中的程序。在Address窗口输入X:8000H后回车,观察8000H-800FF起始的256个字节单元的内容。 新建一个Project文件,添加例程2的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。打开View菜单中的Memory Window,在Address窗口的Memory#1输入X:3000H后回车,点击运行按钮后, 在Memory#2输入X:4000H后回车,观察外部RAM3000H和4000H中的内容。 添加将片内30H-3FH单元的内容复制片外片外1030H~103FH中的源程序,编译运行,观察比较30-3FH单元中的内容和片外1030H-103FH中的内容。 添加将30H、31H单元中的十六进制数,转换成ASCII码,存放到40H开始的4个单元中的源程序,编译运行,观察结果。 添加求内部RAM 30H—37H单元中8个无符号数的算术和的源程序,8个无符号数设定为25H,36H,4AH,65H,7FH,82H,9BH,1DH,观察39H,38H中的数字是否分别为02H,C3H。 四、实验结果 步骤1的结果为8000H-80FFH的内容都为1. 步骤2的结果为3000H起始的256个字节存储块与4000H起始的256个字节存储块各单元内数据对应相同。 步骤3的结果为片外1030H-103FH中的内容与片内30H-3FH单元的内容相同。 步骤4的结果为将30H、31H中的十六进制数转换成了ASCII码,并存入到40H开始的4个单元中。 步骤5的结果为8个无符号数的和为02C3H。 五、思考题 如何将存储器块的内容置成某固定值(例全填充为0FFH)? 请用户修改程序,完成此操作。 答:程序修改如下:将MAIN修改如下即可: MAIN: MOV DPTR, #START MOV R0,#0 MOV A, #0FFH 若源块地址和目标块地址有重叠,程序该如何设计(用地址减1方法移动块)?假设源块地址2000H,目标块地址2050H,移动块长度80H。 答:程序修改如下: ORG 0000H MOV DPTR, #2000H MOV A, #01H MOV R5, #0 LOOP: MOVX @DPTR, A INC DPTR DJNZ R5, LOOP MOV R0, #20H MOV R1, #00H MOV R2, #20H MOV R3, #50H MOV R7, #7FH LOOP1: MOV DPH, R0 MOV DPL, R1 MOVX A, @DPTR MOV DPH, R2 六、源程序 1、将片内30H-3FH单元的内容复制片外片外1030H~103FH中 ORG 0000H MOV R0, #30H MOV DPTR, #1030H MOV R7,#10H LOOP1:MOV A, #0FH MOV @R0, A INC R0 DJNZ R7, LOOP1 MOV R0, #30H MOV R7,#10H LOOP: MOV A,@R0 INC R0 MOVX @DPTR, A INC DPTR DJNZ R7, LOOP SJMP $ END 将30H、31H单元中的十六进制数,转换成ASCII码,存放到40H开始的4个单元中 ORG 0100H MOV 30H, #0FH MOV 31H, #11H MOV R0, #41H MOV @R0, #00H MOV A, 30H XCHD A, @R0 ORL 41H, #30H SWAP A ORL A, #30H MOV 40H, A MOV R0, #43H MOV @R0, #00H MOV A, 31H XCHD A, @R0 ORL 43H, #30H SWAP A ORL A, #

文档评论(0)

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

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

1亿VIP精品文档

相关文档