- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材).docx
- YY_T 0316-2016医疗器械 风险管理对医疗器械的应用.pdf
- 猪肉部位分割图.doc VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- GJB 438C-2021 军用软件开发文档通用要求 (高清,带章).docx VIP
- 人教版高中英语选修二单词表.doc VIP
- 广东省广州天河区2023-2024学年八年级上学期期末数学试卷(含答案).docx VIP
- erp培训课资料课件.ppt VIP
- 2025四川广安前锋区选聘区属国有企业领导人员笔试参考题库附带答案详解.docx
- 脑积水患者的护理PPT参考课件.ppt VIP
文档评论(0)