单片机实验指导书().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文档。上传文档
查看更多
单片机实验指导书().doc

实验一:传送类指令练习实验 一、实验目的 1、了解MCS-51仿真软件的使用 2、熟悉8031/8051传送指令功能。 二、实验内容 1、对MCS-51单片机内部的工作寄存器、累加器A和RAM单元进行操作; 2、输入数据传送指令并单步执行输入的指令。 三、实验步骤 1、设置各寄存器的值 1)开机后读出R0~R7、A、PSW、B和SP的值,并填入到表1.1中。 表1.1各寄存器的初值 R0~R7 DPTR A PSW B SP 初值 2、观察RS1和RS0对R0~R7工作寄存器区的控制作用 1)把R0~R7修改成12H,然后读出00H~1FH中内容并填入表1.2中第一空栏。 2)使PSW=08H,把R0~R7修改成33H,然后读出00H~1FH中内容并填入表1.2中第二空栏。 3)使PSW=10H,把R0~R7修改成44H,然后读出00H~1FH中内容并填入表1.2中第三空栏。 4)使PSW=18H,把R0~R7修改成55H,然后读出00H~1FH中内容并填入表1.2中第四空栏。 表1.2 RS0、RS1对工作寄存器的控制作用 PSW R0—R7 0区 00H~07H 1区 08H~0FH 2区 10H~17H 3区 18H~1FH 3、传送指令的功能 1)输入如下程序: ORG 0030H 0030H 74BBH MOV A,#0BBH 0032H 900070H MOV DPTR,#0070H 0035H F0H MOVX @DPTR,A 0036H 7870H MOV R0,#70H 0038H F6H MOV @R0,A 0039H 74CCH MOV A,#0CCH 003BH D6H XCHD A,@R0 003CH 80F1H SJMP $ END 2)观察DPTR、A、R0、内部RAM70H和外部RAM70H单元中内容并填入表1.3第一空栏。 3)单步执行完上述程序,重新观察上述寄存器和存储单元中内容并填入表1.3第二空栏。 表1.3 程序执行前后有关寄存器和RAM单元内容对照表 程序执行 DPTR A R0 70H 内RAM 70H 外RAM 前 后 4)分析程序并把分析结果和运行结果进行比较。 4、PUSH指令对堆栈的影响 1)输入如下程序: ORG 0040H MOV A,#0AAH MOV PSW,#0CCH PUSH ACC PUSH PSW SJMP $ END 2)观察A、PSW、SP、07H、08H和09H单元中内容,并填入表1.4中。 表1.4 PUSH指令对堆栈的影响 程序执行 A PSW SP 堆栈区 07H 08H 09H 前 后 3)单步执行上述程序,重新观察上述寄存器和堆栈区中内容填入表1.4中。 4)分析程序并把分析结果和实验结果进行比较,看两者是否相同。 5、自行编写把A、PSW、DPTR中内容入栈保护并恢复的程序,并验证。 6、自行编写将内RAM的30H、40H单元内容相互交换的程序,并验证。(3种方法实现) 实验二、 算术及逻辑运算指令练习实验 一、实验目的 1、熟悉算术及逻辑运算类指令的功能。 2、掌握算术及逻辑运算类指令对标志位的影响。 二、实验内容 1、求两个16位数的和 2、查表指令 三、实验步骤 1、求两个16位数的和 设30H和32H开头分别存放有两个16位无符号二进制数(低8位在30H或32H单元,高8位在31H或33H单元),如下程序可以使两个数相加并把其和存放在30H和31H单元。 ORG 0030H MOV R0,#30H MOV R1,#32H MOV A,@R0 ADD A,@R1 MOV @R0,A INC R0 INC R1 MOV A,@R0 ADDC A,@R1 MOV @R0,A SJMP $ END 1)把被加数1122H和加数3344H分别送入CPU内部RAM的相应存储单元,即(31H)=33H、(30H)=44H、(33H)=11H、(32H)=22H。入表2.1所示。 2)执行程序并观察31H和30H单元两数之和以及CY中进位位,填入表2.1相应栏目。 3)把被加数和加数分别改为AABBH和CCDDH并送入相应存储单元,然后重新运行程序,并将运行结果填入到表2.1中。 表2.1 求和程序执行前后的结果 程序执行前 程序执行后 计算值 第一遍执行程序 第二遍执行程序 CY 十六进制数 CY 十六进制数 1122H 3344H AABBH CCDDH

文档评论(0)

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

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

1亿VIP精品文档

相关文档