单片机 数据块传送 软件实验3.docx

上传人:b****1 文档编号:14264268 上传时间:2023-06-21 格式:DOCX 页数:23 大小:1.19MB
下载 相关 举报
单片机 数据块传送 软件实验3.docx_第1页
第1页 / 共23页
单片机 数据块传送 软件实验3.docx_第2页
第2页 / 共23页
单片机 数据块传送 软件实验3.docx_第3页
第3页 / 共23页
单片机 数据块传送 软件实验3.docx_第4页
第4页 / 共23页
单片机 数据块传送 软件实验3.docx_第5页
第5页 / 共23页
单片机 数据块传送 软件实验3.docx_第6页
第6页 / 共23页
单片机 数据块传送 软件实验3.docx_第7页
第7页 / 共23页
单片机 数据块传送 软件实验3.docx_第8页
第8页 / 共23页
单片机 数据块传送 软件实验3.docx_第9页
第9页 / 共23页
单片机 数据块传送 软件实验3.docx_第10页
第10页 / 共23页
单片机 数据块传送 软件实验3.docx_第11页
第11页 / 共23页
单片机 数据块传送 软件实验3.docx_第12页
第12页 / 共23页
单片机 数据块传送 软件实验3.docx_第13页
第13页 / 共23页
单片机 数据块传送 软件实验3.docx_第14页
第14页 / 共23页
单片机 数据块传送 软件实验3.docx_第15页
第15页 / 共23页
单片机 数据块传送 软件实验3.docx_第16页
第16页 / 共23页
单片机 数据块传送 软件实验3.docx_第17页
第17页 / 共23页
单片机 数据块传送 软件实验3.docx_第18页
第18页 / 共23页
单片机 数据块传送 软件实验3.docx_第19页
第19页 / 共23页
单片机 数据块传送 软件实验3.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机 数据块传送 软件实验3.docx

《单片机 数据块传送 软件实验3.docx》由会员分享,可在线阅读,更多相关《单片机 数据块传送 软件实验3.docx(23页珍藏版)》请在冰点文库上搜索。

单片机 数据块传送 软件实验3.docx

单片机数据块传送软件实验3

实验二数传指令和算数运算指令编程设计

一、实验目的

1.掌握数据块的传送操作和算术运算指令的应用。

2.进一步掌握汇编语言设计和调试方法。

3.掌握观察窗口的使用方法。

4.学会给存储单元赋初值的方法。

二、实验内容

1.数据区传送

(1)把内部RAM40H~4FH置初值0A0H~0AFH;

(2)而后把40H~4FH内容传送到外部RAM9800H~980FH中;

(3)再把9800H~980FH内容传送到50H~5FH中。

2.多字节十进制加法

加数放在30H开始的单元中(最低位放在30H,按从小到大的顺序存放),被加数和结果存放在20H开始的单元(最低位在20H中),字节数放在2FH中,最高进位位放在位地址7FH单元中。

三、实验步骤

1.分别用单步和连续运行方式,调试上述两个程序;

2.在执行第二个程序之前,给被加数和加数单元赋初值;

3.在观察窗口中观察结果。

四、实验程序清单

1.数据块传送程序:

命令行

命令结果

备注

MAIN

MOVR0,#40H

MOVR2,#10H

MOVA,#0A0H

A1

MOV@R0,A

INCR0

INCA

DJNZR2,A1

循环判定命令,重复执行A1共R2次,,DPTR指针递增,PC指针循环0x0006---0x0009

MOVR0,#40H

MOVDPTR,#9800H

MOVR2,#10H

A2

MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR2,A2

循环判定命令,重复执行A2共R2次,DPTR指针递增,PC指针循环0x0012---0x0016

MOVR0,#50H

MOVDPTR,#9800H

MOVR2,#10H

A3

MOVXA,@DPTR

MOV@R0,A

INCDPTR

INCR0

DJNZR2,A3

循环判定命令,重复执行A3共R2次,DPTR指针递增,PC指针循环0x001F---0x0023

2.多字节十进制加法:

初始赋值:

20H

21H

22H

23H

24H

41

25

50

24

37

30H

31H

32H

33H

34H

23

27

13

12

40

命令行

命令结果

MAIN

MOVR0,#30H

MOVR1,#20H

MOV2FH,#04H

CLRC

DA1

MOVA,@R0

ADDCA,@R1

DAA

没有进位,因此调整命令没有引起变化

MOV@R1,A

INCR0

INCR1

DJNZ2FH,DA1

循环判定命令,PC指针循环0x0008---0x0011

MOV7FH,C

五、思考题

1若两个数据块都在外部数据存储器中,如何实现数据块的传送?

答:

选择R0和DPTR两个指针,用MOVX命令经过A累加器进行数据块传输。

2在调试第一个程序时,若不用程序给40H~4FH赋初值,而用键盘在CPUDATA区给40H~4FH单元预赋初值,如何做?

答:

在存储器窗口d:

0x00处键入d:

0x40然后键入所需要的初值。

3若把第二个程序改为无符号数的减法,怎样修改程序?

答:

将ADDC命令改为SUBB命令,去掉DA命令行

4在第二个程序中,若两数的和存放到从40H开始的单元,如何修改程序?

答:

ORG0000H

MAIN:

MOVR0,#30H

MOVR1,#20H

MOVR3,#40H

MOV2FH,#04H

CLRC

DA1:

MOVA,@R0

ADDCA,@R1

DAA

MOV@R3,A

INCR0

INCR1

INCR3

DJNZ2FH,DA1

MOV7FH,C

SJMP$

END

程序修改处如绿字

v

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2