实验一 数据传送

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据传送实验

验证性实验

2012年10月31日第三四节课

一、实验目的

1、掌握单片机的汇编指令系统及汇编语言程序设计方法。

2、掌握单片机的存储器体系结构。

3、熟悉Keil软件的功能和使用方法。

4、掌握单片机应用程序的调试方法。

二、设计要求

1、编写程序将00H~0FH 16个数据送到单片机内部RAM 30H~3FH单元中。

2、编写程序将片内RAM 30H~3FH的内容传送至片内RAM 40~4FH单元中。

3、编写程序将片内RAM 40H~4FH单元中的内容传送到外部RAM 4800H~480FH单元中。

4、编程将片外4800H~480FH单元内容送到外部RAM 5800H~580FH单元中。

5、编写程序将片外RAM 5800H~580FH单元内容传送回片内RAM 50H~5FH 单元中。

三、实验程序流程框图

四、程序清单

ORG 0000H

MOV R0, #30H ;初始化数据指针

MOV A, #00H

MOV R2, #10H ;设置循环次数LOOP1: MOV @R0, A ;循环体部分

INC R0 ;修改数据指针

INC A

DJNZ R2, LOOP1 ;循环控制部分

MOV R0, #30H ;初始化数据指针 MOV R1, #40H

MOV R2, #10H

LOOP2: MOV A, @R0 ;循环体部分 MOV @R1, A

INC R0 ;修改数据指针 INC R1

DJNZ R2, LOOP2 ;循环控制部分

MOV R1, #40H ;设置数据指针R0单元内容

MOV DPTR, #4800H ;外部RAM4800H单元地址作为16位立即数送数

据指针DPTR

MOV R2, #10H ;设置循环次数

LOOP3: MOV A, @R1 ;循环体部分

MOVX @DPTR, A

INC R1 ;修改数据指针

INC DPTR

DJNZ R2, LOOP3 ;循环控制部分

MOV R0, #00H ;初始化数据指针

MOV R1, #48H

MOV R2, #58H

LOOP4: MOV DPL, R0 ;设置数据指针的低八位内容

MOV DPH, R1 ;设置数据指针的高八位内容

MOVX A, @DPTR ;将外部RAM内容送累加器A

MOV DPH, R2 ;重新设置数据指针高八位内容

MOVX @DPTR, A ;将累加器A的内容送回外部RAM INC R0 ;修改数据指针

CJNE R0, #10H, LOOP4 ;循环控制部分

MOV R0, #50H ;初始化数据指针

MOV DPTR, #5800H

MOV R2, #10H

CLR A ;累加器A清零

LOOP5: MOVX A, @DPTR ;循环体部分

MOV @R0, A

INC R0 ;修改数据指针

INC DPTR

DJNZ R2, LOOP5 ;循环控制部分

END

五、程序数据

六、实验总结

通过本次试验,我掌握了单片机的汇编指令系统及汇编语言程序设计方法,掌握了单片机的存储器体系结构,同时熟悉了KEIL的功能和使用方法,掌握了单片机应用程序的调试方法,为以后的编程打下了基础,更加深了自己对51单片机结构的理解。

六、思考题

1、说明MCS-51系列单片机对片内RAM和片外RAM存贮器各有哪些寻址方式?

答:片内RAM寻址方式:寄存器寻址、直接寻址、寄存器间接寻址、位寻址片内RAM寻址方式:寄存器间接寻址

2、说明指令MOV A,20H和MOV C,20H中的20H含义有什么不同?传送指令中的助记符 MOV,MOVX,MOVC各适用于访问哪个存储器空间?

答:MOV A,20H中的20H指字节单元,MOV C,20H中的20H指位寻址单元。MOV A,20H是将20H字节单元内容送累加器A;MOV C,20H是将20H单元地址单元内容送累加器A。

MOV是用于对单片机内部数据存储器寻址,MOVC用于对单片机内部程序存储器区进行寻址,MOVX用于对外部数据存储器区进行寻址。

相关文档
最新文档