《单片机技术》实验多媒体讲义数据传送实验一、实验目的1、掌握单片机的汇编指令系统及汇编语言程序设计方法。2、掌握单片机的存储器体系结构。3、熟悉Keil软件的功能和使用方法。4、掌握单片机应用程序的调试方法。二、实验内容或原理1、实现单片机内部RAM之间,外部RAM之间以及内部RAM与外部RAM之间的数据传送。2、利用Keil软件编辑、汇编、调试、运行实验程序并记录实验数据。 《单片机技术》实验多媒体讲义三、设计要求1、编写程序将00H~0FH 16个数据分别送到单片机内部RAM 30H~3FH单元中。2、编写程序将片内RAM 30H~3FH的内容传送至片内RAM40~4FH单元中。3、编写程序将片内RAM 40H~4FH单元中的内容传送到外部RAM 4800H~480FH单元中。4、编写程序将4800H~480FH单元内容送到外部RAM 5800H~580FH单元中。5、编写程序将片外RAM 5800H~580FH单元内容传送回片内RAM 50H~5FH单元中。 《单片机技术》实验多媒体讲义四、实验报告要求1、实验目的和要求。2、设计要求。3、实验程序流程框图和程序清单。4、实验总结。5、思考题。五、思考题1、说明MCS-51系列单片机对片内RAM和片外RAM存贮器各有哪些寻址方式?2、说明指令MOV A,20H和MOV C,20H中的20H含义有什么不同?传送指令中的助记符MOV,MOVX,MOVC各适用于访问哪个存储器空间?
三.程序清单及程序流程框图
ORG 0000H LJMP MAIN
MAIN: MOV R0,#30H MOV R2,#10H CLR A
A1: MOV @R0,A INC R0 INC A DJNZ R2,A1 MOV R0,#30H MOV R1,#40H MOV R2,#10H A2: MOV A, @R0 MOV @R1,A INC R0 INC R1 DJNZ R2, A2 MOV R1,#40H MOV DPTR ,#4800H MOV R2, #10H A3: MOV A,@R1 MOVX @DPTR ,A INC R1 INC DPTR DJNZ R2,A3 MOV SP,#60H MOV R2,#10H MOV DPTR ,#4800H PUSH DPL PUSH DPH MOV DPTR,#5800H MOV R3,DPL MOV R4,DPH A4: POP DPH POP DPL MOVX A,@DPTR INC DPTR PUSH DPL PUSH DPH
MOV DPL,R3
开始R0←#30HR2←#10HA←#00H(R0)←A修改地址指针R0修改A的内容N数送完?YR0←#30HR1←#40HR2←#10HA←((R0))(R1)←A修改地址指针R0修改地址指针R1数送完?NY1
MOV DPH,R4 1 MOVX @DPTR,A INC DPTR R1←#40H MOV R3,DPL
DPTR←#4800H MOV R4,DPH
DJNZ R2,A4
R2←#10H MOV R0,#50H
MOV DPTR,#5800H MOV R2,#10H
A←((R1)) A5: MOVX A,@DPTR MOV @R0,A
(DPTR)←A INC R0 INC DPTR 修改R1 DJNZ R2,A5
POP DPH 修改DPTR POP DPL HERE: LJMP HERE 数送完? END YN2
2R2←#10H堆栈←#4800HR4R3←#5800HA←((DPTR))修改地址指针DPTR(DPTR)←A修改地址指针DPTR数送完?NDPTR←#5800HR2←#10HA←((DPTR))(R0)←A修改R0修改DPTR数送完?结束Y
NR0←#50H
Y