实验三 存储器块搬移

实验三 存储器块搬移

一、实验要求

指定存储器中某块的起始地址和长度,要求能将其内容搬移到外部存储器。

、实验目的

1.掌握存储器读写方法

2.了解存储器的块操作方法

三、实验说明

通过本实验,学生可以了解单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。通过相关语句命令,给指定存储器中的某存储块赋值后,将其搬移到指定的位置。

、实验内容

1,内部数据存储器到内部数据存储器;

2,内部数据存储器到外部数据存储器;

3,外部数据存储器到内部数据存储器;

4,程序存储器到内部数据存储器。

、实验程序框图

实验三 存储器块搬移_第1张图片

、实验结果

1,内部数据存储器到内部数据存储器

2,内部数据存储器到外部数据存储器

3,外部数据存储器到内部数据存储器

4,程序存储器到内部数据存储器

、实验程序

1,内部数据存储器到内部数据存储器

ORG 0000H

LJMP MAIN

ORG 1000H

MAIN:MOV R0,#40H

MOV R1,#60H

MOV R2,#10H

LOOP0: MOV A,R2

MOV @R0,A

INC R0

INC R2

CJNE R0,#4FH,LOOP0

MOV R0,#40H

LOOP1:MOV A,@R0

MOV @R1,A

INC R0

INC R1

CJNE R0,#4FH,LOOP1

SJMP $

END

2,内部数据存储器到外部数据存储器

ORG 0000H

LJMP MAIN

ORG 1000H

MAIN:MOV R0,#20H

MOV DPTR,#1000H

MOV R1,#10H

LOOP1:MOV A,R1

MOV @R0,A

INC R1

INC R0

CJNE R0,#30H,LOOP1

MOV R0,#20H

LOOP2:MOV A,@R0

MOVX @DPTR,A

INC R0

INC DPTR

CJNE R0,#30H,LOOP2

SJMP $

END

3,外部数据存储器到内部数据存储器

ORG 0000H

LJMP MAIN

ORG 1000H

MAIN:MOV R0,#20H

MOV DPTR,#1000H

MOV R1,#10H

LOOP1:MOV A,R1

MOVX @DPTR,A

INC R1

INC DPTR

CJNE R1,#20H,LOOP1

MOV DPTR,#1000H

LOOP2:MOVX A,@DPTR

MOV @R0,A

INC R0

INC DPTR

CJNE R0,#30H,LOOP2

SJMP $

END

4,程序存储器到内部数据存储器

ORG 0000H

LJMP MAIN

ORG 1000H

MAIN:MOV DPTR,#DATA1

MOV R0,#30H

MOV R2,#08H

LOOP:CLR A

MOVC A,@A+DPTR

MOV @R0,A

INC R0

INC DPTR

DJNZ R2,LOOP

DATA1:

DB 10H,11H,12H,13H,14H,15H,16H,17H

SJMP $

END

八、实验总结

通过本实验,我们了解了单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。通过相关语句命令,给指定存储器中的某存储块赋值后,将其搬移到指定的位置。本次实验中,我们做了四个搬移:内部数据存储器到内部数据存储器;内部数据存储器到外部数据存储器;外部数据存储器到内部数据存储器;程序存储器到内部数据存储器。

你可能感兴趣的:(单片机)