单片机复习题带答案版 下载本文

一、 简答题

1、何谓单片机?单片机与一般微型计算机相比,具有哪些特点? 2、简述8051单片机的内部基本结构。

3、程序状态字PSW中主要包含了哪些状态信息?

4、什么是时钟周期、机器周期、指令周期?8051CPU机器周期与时钟周期是什么关系? 5、若震荡频率fosc=12MHz,则震荡周期、状态周期、机器周期分别为多少? 6、如何区别一条访问数据存储器的指令是访问片RAM还是访问片外RAM?

7、8051的存储器由哪几部分组成?片内RAM分为哪几个性质和用途不同的区域?

8、在8051单片机中,什么是特殊功能寄存器?特殊功能寄存器与其它片内RAM单元有什么区别?

9、简述堆栈工作过程和SP的作用。 10、EA引脚有何功能?

11、51系列程序存储器的编址规律是怎样的?如何知道单片机执行指令时,是从片内ROM中取指令,还是从片外ROM中取指令?

12、访问位地址20H和字节地址20H的区别是什么?

13、按照同一优先级中的优先权排队顺序列出MCS-51的中断源和相应的中断入口地址 14、MCS-51定时器/计数器作定时器以及计数器使用时,计数脉冲由谁提供?这与什么因素有关?

15、已知振荡器振荡频率为12MHz,要求定时器/计数器0产生10ms的定时,试编写初始化程序

首先计算TH0、TL0的初值,TH0=D8H,TL0=F0H;其次确定方式寄存器TMOD的值为01H;最后写出初始化程序: START: MOV TL0,#0F0H MOV TH0,#0D8H MOV TMOD,#01H SETB TR0

16、简述定时器/计数器0、1的4中工作方式的特点。 17、综述P0、P1、P2、P3口各有哪几个功能? 18、为何说P1口是“准双向接口”?

19、波特率表示什么?8051单片机的串口在4种工作方式下的波特率分别如何确定? 20、如异步通信,每个字符由11位组成,串行口每秒钟传送250个字符,则波特率为多少?

答:波特率是每秒钟传送的二进制数的位数,所以波特率为11×250=2750

21、设串行异步通信的传送速率为2400波特,传送的是带奇偶校验的ASCII码字符,每个字符包含10位(1个起始位,7个数据位,1个奇偶校验位,1个停止符),问每秒钟最多可传送多少个字符?

答:2400/10=240

22、串行数据传送的主要优点和用途是什么? 23、MCS-51有几个中断优先级?如何设定?

24、MCS-51单片机CPU响应中断后,由硬件自动执行哪些操作? 25、MCS-51指令系统主要有哪几种寻址方式?请举例说明。

26、中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别? 27、试用三种方法,实现累加器A与寄存器B的内容交换。

方法一、XCH A, B

方法二、MOV R0, B MOV B, A MOV A, R0

方法三、PUSH ACC PUSH B POP ACC POP B 28、何谓堆栈?为什么要设置堆栈?栈区是怎么样确定的?数据进栈、出栈有何种规律?出

栈用什么指令?进栈用什么指令?进栈、出栈时堆栈指针将怎样变化? 29、基址寄存器加变址寄存器间接寻址指令中使用PC与DPTR有何区别? 30、区分下列指令的不同功能:MOV A,#24H与MOV A,24H 31、分析8051单片机数据传送指令中MOV、MOVC、MOVX的作用。 32、JMP、AJMP、SJMP指令有何区别?

33、用于外部数据传送的指令有哪几条?有何区别?

34、MCS-51单片机扩展系统中,为什么P0口要接一个8位的锁存器,而P2口却不接? 35、单片机系统中的定时和计数功能有何区别?分别适用于什么场合?简述其工作原理。 36、说明MCS-51汇编语言源程序的基本格式。

37、请举例说明MCS-51汇编语言中伪指令的作用。 38、简述/PSEN控制信号线的作用。

39、基址寄存器加变址寄存器间接寻址指令包括哪两种?请列举说明。

40、A/D转换接口中采样保持电路的作用是什么?省略采样保持电路的前提条件是什么? 41、单片机用于外界过程控制中,为何要进行A/D、D/A转换? 42、MCS-51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?

43、在既有片内程序存储器、又扩展片外程序存储器的情况下,两部分存储器的编址如何进行?

44、用线选法和译码扩展存储器各有什么特点?

45、简述MCS-51单片机扩展时/WE、/RD控制信号线的作用。 46、请说明动态扫描和静态扫描显示方式的特点。

47、区分下列指令的不同功能:MOV A,R0与MOV A,@R0。 48、访问位地址2BH和字节地址2BH的区别是什么? 49、简述中断系统初始化步骤

1、 置位相应中断源的中断允许 2、 设定所有终端源的中断优先级

3、 若为外部中断,则应规定低电平还是负边沿的中断触发方式

50、简述键盘的工作原理。

二、 程序题

1、 设被加数和加数分别在以ADR1和ADR2为初址的片内数据存储器中,自低字节起,由低

字节依次存放;他们的字节数为L;请编程将他们加得的和放在原存放被加数的单元中。 MOV R0,#ADR1 MOV R1,#ADR2 MOV R2,L LOOP: MOV A,@R0

ADDC A,@R1 MOV @R0,A INC R0 INC R1

DJNZ R2,LOOP DONE:

2、设被减数和减数分别在以ADR1和ADR2为初址的片内数据存储器中,自低字节起,由低字节依次存放;他们的字节数为L;被减数够减,即最稿高字节想减时不至借位;请编程将他们减得的差放在原存放被减数的单元中

MOV R0,#ADR1

MOV R1,#ADR2 MOV R2,#L CLR C

LOOP: MOV A,@R0 SUBB A,@R1 MOV @R0,A INC R0 INC R1 DJNZ LOOP DONE:

3、将ROM中自2000H单元起的100个数,按序移至片外RAM自2080H单元起的内存区间去 MOV DPTR,#2000H MOV R1,#64H MOV R2,#0 LOOP: MOV A,R2

MOVC A,@A+DPTR MOV R3,A MOV A,#8OH ADD A,R2 MOV DPL,A MOV A,R3 MOVX @DPTR,A INC R2

MOV DPL,#0 DJNZ R1,LOOP DONE:

4、编写程序将片外数据存储器地址为1000H~102FH的数据块,全部搬迁到片内RAM30H~5FH中,并将原数据块区域全部清零。

START: MOV DPTR,#1000H MOV R0,#30H MOV R1,#30H LOOP: MOVX A,@DPTR

MOV @R1,A CLR A

MOVX @DPTR,A INC DPTR INC R1

DJNZ R0,LOOP

5、设有100个有符号数,连续存放在以2000H为首址的片外数据存储器中,试编程统计其中正数、负数和零的个数,统计的个数分别放在R0、R1、R2中。

START: CLR A MOV R0,A MOV R1,A MOV R2,A MOV DPTR,#2000H MOV R3,#100 LOOP: MOVX A,@DPTR JZ ZERO JB A.7,NEG INC R0 SJMP LL

ZERO: INC R2 SJMP LL NEG: INC R1 LL: INC DPTR

DJNZ R3,LOOP

6、 将片内RAM60H~69H单元中的10个数相加,和的低8位存入7EH,高8位存入7FH。

MOV 7FH,#00H

MOV R1,#09H MOV R0,#60H MOV A,@R0 INC R0 LOOP: ADD A,@R0 JNC LP1 INC 7FH

LP1: INC R0 DJNZ R1,LOOP MOV 7EH,A DONE: …

7、 将寄存器A中的十六进制数(该数为0—F)转换为ASCII码,转换后的数仍然放在

寄存器A中。

MOV R2,A

ADD A,#0F6H MOV A,R2 JNC AD30 ADD A,#07H

AD30: ADD A,#30H

8、 编写程序,统计自P1口输入的数字串中的正数、负数及零的个数,统计的个数分别

存放在R0、R1、R2三个工作寄存器中。 START: CLR A MOV R0,A MOV R1,A MOV R2,A ENTER: MOV A,P1 JZ ZERO JB P1.7,NEG INC R0 SJMP ENTER

ZERO: INC R2 SJMP ENTER NEG: INC R1 SJMP ENTER

9、 编写程序,将外部数据存储器中的5000H—50FFH单元全部清零

MOV DPTR #5000H

MOV R0,#00H CLR A

LOOP: MOVX @DPTR,A INC DPTR DJNZ R0,LOOP

HERE:: SJMP HERE (RET ,SJMP $ 等) 10、分析下列程序的功能 PUSH ACC PUSH B POP ACC POP B

是通过累加器ACC与寄存器B数据交换

11、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:

POP DPH; POP DPL; POP SP;

则:(DPH)= ___3CH___;(DPL)=_____5FH_____;(SP)=_____50H_____;

12、如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H,(41H)=50H,(42H)=80H,则执行下列指令后:

POP DPH POP DPL RET

则:(PCH) =__34H__;(PCL)=___12H____ ;(DPH)=__80H__;(DPL)=___50H__;

13、分析以下程序的功能。程序执行后片内RAM42H、43H单元和进位标志位C 中内容为多少? MOV R0,#40H

片内 MOV A,@R0

RAM INC R0 ADD A,@R0 INC R0

40H 98H MOV @R0,A

CLR A 41H AFH ADDC A,#0 INC R0 MOV @R0,A

14、阅读并分析以下程序片段的功能。

START: MOV R0,#40H

MOV R1,#10H

LOOP: CLR C MOV A,@R0 INC R0 SUBB A,@R0 JNC NEXT MOV A,@R0 DEC R0 XCH A,@R0 INC R0 MOV @R0,A NEXT: DJNZ R1,LOOP

15、试编写程序段,将片内RAM的20H-2FH共16个连续单元清零。 16、分析下列程序段的功能。 MOV 30H,#0 MOV 31H,#0 MOV 32H,#0

MOV DPTR,2000H MOV R1,#100

L4:MOVX A,@DPTR

INC DPTR CJNE A,#0,L1 INC 32H SJMP L2 L1: JC L3 INC 30H SJMP L2

… … L3: INC 31H

L2: DJNZ R1,L4 SJMP $

17、读程序:

已知:在8051单片机的片内RAM中,(30H)=25H,(31H)=1DH

MOV R0,#30H MOV A,@R0 SWAP A INC R0

XCHD A,@R0 ;交换低半字节 MOV 30H,A

执行该程序后,片内RAM30H单元内的数据是___,31H单元内的数据是___。

(30H)=5DH,(31H)=12H

18、已知:片内RAM(30H)=98H,(31H)=AFH MOV R0,#31H MOV A,@R0 DEC R0 CLR C SUBB A,@R0 MOV B,#10 DIV AB MOV @R0,A INC R0 MOV @R0,B

执行该程序后,片内RAM30H内的数据是( ),31H内的数据是( )

01H 07H

19、已知:片内RAM(30H)=12H(31H)=34H,片外RAM(30H)=56H,(31H)=78H MOV R1,#30H MOVX,A,@R1 MOV @R1,A INC R1 MOVX A,@R1 MOV @R1,A 执行该程序后,片内RAM30H内的数据是( ),31H内的数据是( ) 56H 78H

20、设MCS-51晶振为12Mz,设计一个软件延时程序,延时时间为10ms。 21、已知:片内RAM(30H)=12H(31H)=34H,片外RAM(30H)=56H,(31H)=78H MOV R1,#30H MOVX,A,@R1 MOV @R1,A INC R1

MOV A,@R1 MOVX @R1,A 执行该程序后,片内RAM30H内的数据是( ),片外31H内的数据是( ) 56H 34H

22、编写程序将片外数据存储器地址为1000H~102FH的数据块,全部搬迁到片内RAM30H~5FH中,并将原数据块区域全部清零。 START: MOV DPTR,#1000H MOV R0,#30H MOV R1,#30H LOOP: MOVX A,@DPTR MOV @R1,A CLR A

MOVX @DPTR,A INC DPTR INC R1

DJNZ R0,LOOP

23、设ROM、片内RAM、片外RAM各有关单元的内容示如下图,问复位执行下列程序段后(A)=?

0000 AJMP 030H

ORG 0030H

0030 MOV R0,#32H

MOV A,@R0 MOV R1,A MOVX A,@R1

MOVC A,@A+ DPTR

24、在外部ROM/EPROM中,从2000H单元开始依次存放0~5的平方值:0、1、4、9、…25,要求依据累加器中的值(0~5)来查找所对应的平方值,分析下述程序的结果

MOV DPTR,#2000H

MOV A,#05H MOVC A,@A+DPTR 执行结果:(DPTR)=2000H,(A)=25

25、把外部RAM单元中从8000H开始的30个字节数据传送到8100H开始的单元中,编程实现

MOV A,R4 JZ A,EXIT LOOP:

MOVX A, @DPTR INC DPTR PUSH DPH PUSH DPL MOV DPH,R3 MOV DPL,R2

MOV @DPTR,A INC DPTR MOV R2,DPL MOV R3,DPH POP DPL POP DPH

DJNZ R4,#00H,LOOP EXIT: RET

26、编写程序,把外部RAM l000H-10FFH区域内的数据逐个搬到从2000H开始的区域。 MOV DPL ,#00H LOOP:

MOV DPH,#10H MOVX A,@DPTR MOV DPH,#20H MOVX @DPTR,A INC DPL MOV A,DPL

CJNE A,#0FFH,LOOP … END

27、阅读下列程序,并要求: (l)说明程序的功能。

(2)写出涉及的寄存器及片内RAM单元的最后结果

MOV R0,#40H MOV A,@R0 INC R0 ADD A,@R0 INC R0 MOV @R0,A CLR A ADDC A,#0

INC R0

说明:片内RAM(40H)=98H,(41H)=AFH。

R0 32H;A 31H;R1 31H;A 33H;A 30H

28、编写程序生成1000us的等宽脉冲方波。机器晶振为6Mhz,使用T1以方式1工作,由

P1.0输出。

MOV TH1, #0FFH MOV TL1, #06H MOV TMOD, #10H SETB EA SETB ET1

LOOP: SETB TR1 HERE:SJMP HERE

INIT:

MOV TH1, #0FFH MOV TL1, #06H CPL P1.0 RETI

29、分析下面程序的执行结果

MOV SP,#2FH MOV A,#30H MOV B,#31H PUSH A PUSH B POP A POP B

30、将片外3500H单元中的内容压入堆栈,弹出到片内40H单元。 MOV DPTR , #3500H ; MOV A,@DPTR MOV 20H, A MOV SP,#30H PUSH 20H POP 40H

31、已知当前PC值是2010H,请用两种方法将程序存储器20F0H中的常数送入累加器A中,写出各自程序段。 方法(1):MOV A,#0E0H MOVC A,@A+PC 方法(2):MOV DPTR,#20F0H MOV A,#0

MOVC A,@A+DPTR

三、综合题

1、在8031芯片外扩展32KB EPROM(27256)和32KB RAM(62256)个一片来组成较完整的单片机系统

(1)画出8031与存储器直接完整的连接图(请标明个连线的信号名称) (2)指出连接后个存储芯片的地址范围

(3)将外面数据存储器单元8000H-9FFFH中的数据拷贝到同一芯片内的C000H-DFFFH,编写程序并加以注释(特别要说明程序中所用个寄存器的用途)。

27256的地址范围是0000H-7FFFH,62256的地址范围是8000H-FFFFH,程序入下: MOV DPTR, #8000H LOOP: PUSH DPH MOVX A, @DPTR ORL DPH, #40H MOVX @DPRT, A POP DPH INC DPRT MOV A, DPH CJNE A, #0A0H, LOOP SJMP $

2、试将8031单片机外接一片EPROM 2764和一片8255组成一个应用系统。要求画出扩展系统的电路连接图,比国内指出程序存储器和8255端口的地址范围。

答:2764是8KB的EPROM,8255是有三个8位并行I/O口的可编程接口芯片。一种简单的扩展系统硬件连接图如图所示。2764程序存储器地址范围为:0000H-1FFFH。8255的A口地址为7CH,B口地址为7DH,C口地址为7EH,控制寄存器地址为7FH。

3、请设计一个由单片机控制的大会发言限时器,例如限时15分钟。具体要求是:当发言者开始讲话时,主持人手动按下“开始”键,15分钟后由微机控制系统发出提示信号(提示信号可以自行设定),假定单片机晶振频率选用6MHz,另可提供1Hz稳频脉冲源。请画出电路示意图,并用中断方式完成本题的程序设计。

答:可利用内部定时器对片外的1s脉冲源计数900次,从而达到15分钟定时。用查询方式等待手动“开始”信号,有信号来,则计数器开始工作。当计数900次满时,发出中断请求信号,此时让指示灯亮(可安排P1.0引角控制灯的亮/灭)。硬件电路示意图如图所示:

控制程序如下: AJMP START ORG 0BH CLR TR0 ;停止计数/计时 CLR EA ;关中断 SETB P1.0 ;指示灯亮 RETI START: CLR P1.0 ;指示灯灭 MOV TMOD, #05H ;选用T0计数,方式1 MOV TH0, #0FCH ;计数900次 MOV TL0, #7CH SETB P1.0 ;为输入先预置“1” JNB P1.7, $ ;等待“开始”按钮的下降烟到来 JB P1.7 , $ SETB TR0 ;开始计数 SETB EA ;T0开中断 SETB ET0 SJMP $

4、某微机系统用2片2764芯片组成的R0M存储器系统如下图,请回答: (1)图中采用的译码法与线选法相比有什么特点? (2)写出芯片2764(1)、2764(2)的地址范围。 (3)与2764 OE端相连的是8031的哪一个控制信号。

(4)图中存储器的总容量(以K为单位)。

(5)系统中74LS373与74LS138芯片各自的功能是什么?

答:(1)译码法占用I/O引脚少,可扩展更多的片外存储器,但要多用硬件;线选法少用硬件,接线简单,但是I/O口可能不够用。随着单片机容量的增大,线选法优点更趋突出,缺点已不明显。

(2)2764(1):4000H~5FFFH, 2764(2):6000H~7FFFH。 (3)与2764 OE端相连的是8031的信号PSEN

(4)16K

(5)74LS373,地址锁存器,用以将P0口复用的地址/数据信号分离;74LS138,3-8译码器,提供扩展存储器片选信号。

5、根据下图所示的单缓冲方式D/A转换接口电路,试编写两个程序,分别使用DAC0832输出负向锯齿波和15个正向阶梯波。

答:(1)DAC0832的片选信号只用到地址线A0,且两级缓冲同时有效,都由单片机的WR信号控制。这时控制动作就变的十分简单,任何时候,只要将A0置0并附加片外的xie动作即可启动DAC工作。

(2)由于DAC转换速度快于一条指令的执行速度,所以不必考虑等待转换完毕的时间。 输入负向锯齿波的程序为: MOV R0, #FE ;设定能让A0=0的DAC地址

MOV A, #FFH ;从最高数字量开始转换 LOOP: MOVX @R0, A ;让A0=0,且WR有效,送出数字量,启动DAC工作 DEC A ;让数字量递减,形成负向波形 LCALL DELAY SJMP LOOP ;循环徍复,产生一系列的负向锯齿波 DELAY: …… RET 15个正向阶梯形波,即将00H-FFH分16等级,以形成15个台阶。此时数字递增幅度要加大为每次16,对应程序为: MOV R0, #FEH CLR A UP: MOVX @R0, A ADD A, #10H LCALL DELAY SJMP UP DELAY: …… RET

6、用定时器/计数器0作定时器,每10ms(毫秒)中断一次,每2s(秒)向P1口发送一个数55H,画出设计流程图,写出源程序并作适当注释。设系统的时钟频率为6MHz。 注:定时器/计数器方式控制寄存器TMOD定义如下:

ORG 0000H ;主程序入口地址 LJMP 0800H

ORG 001BH ;中断程序入口 CLR TF0 ;清除溢出标志 INC R0 ;中断次数记数器 MOV TH0,#0ECH MOV TL0,#78H RETI

ORG 0800H STA:CLR R0

MOV TMOD,#00000001B;初始化CTC0 MOV TH0,#0ECH

MOV TL0,#78H; 10ms参数 SETB TR0 ;CTC0工作 MOV A,#0C8H; C8H=200 LOOP:SUBB A,R0

GATE 定时器/计数器1 C/T M1 M0 GATE 定时器/计数器0 C/T M1 M0 DJNZ A,LOOP

CLR R0;2秒时间到

MOV P1,#055H;向P1口发送数据 SJMP LOOP END

7、有某微机系统用2片6264芯片组成的RAM存储器系统如下图,请回答: (1)芯片 6264(#1)的首址与末址。 (2)芯片 6264(#2)的首址与末址。 (3)与 6264 /OE端相连的是8031的哪一个控制信号。 (4)与6264 /WE瑞相连的是8031的哪一个控制信号。 (5)图中存储器的总容量(以K为单位)。

(1)0000H~1FFFH (2)2000H~3FFFH (3)/RD (4)/WR (5)16K

8、某微机系统用3片6264芯片组成的RAM存储器见下图,请回答: (1)/RD、/WR管脚应分别与图中哪些管脚相连? (2)6264(1)、6264(2)、6264(3)的首地址和末地址分别是多少? (3)图中存储器的总容量是多少?

(1)/WR管脚与三块6264芯片的/WE管脚相连,/RD管脚与三块6264芯片的/OE管脚相连

(2)6264(1)的首地址:C000H;末地址:DFFFH

6264(2)的首地址:A000H;末地址:BFFFH 6264(3)的首地址:6000H;末地址:7FFFH (3)总容量为:24K

9、有某微机系统用2片27256芯片组成的R0M存储器系统如下图,请回答: (1)芯片27256(1)、27256(2)的首址与末址。 (2)与27256 /OE端相连的是8051的哪一个控制信号。 (3)图中存储器的总容量(以K为单位)

1、27256(1):0000H~7FFFH 27256(2):8000H~0FFFFH 2、/PSEN 3、64K

10、有某微机系统用2片2764芯片组成的R0M存储器系统如下图,请回答: (1)芯片2764(1)、2764(2)的首址与末址。 (2)与2764 /OE端相连的是8051的哪一个控制信号。 (3)图中存储器的总容量(以K为单位)。

1、2764(1):4000H~5FFFH 2764(2):2000H~3FFFH 2、/PSEN 3、16K

11、用8051的串行口外接CD4094扩展8位并行输出口,CD4094的各个输出端均接一个发光二极管,要求发光二极管从左到右流水显示。

( 采用方式0,CD4094是一个8位移位/锁存器 )

p1.0 RXD TXD 8051 DATA STR CD4094 CLK

…… 12、图为8段共阴数码管,请写出如下数值的段码。 a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7

f

e

答案:

0 3FH 1 06H 2 5BH 3 4FH 4 66H 5 6DH P 73H 7 07H 8 7FH C 39H

13、简述一种多外部中断源系统的设计方法。(给出图和程序) 答:原理电路如图所示

a b g c d h

程序如下:

INT:PUSH PSW PUSH A

JNB P1.0, IR0 ;扫描中断请求 JNB P1.1 , IR1 JNB P1.2, IR2 JNB P1.3, IR3

INTIR: POP A ;返回 POP PSW

IR0: 中断服务子程序 :中断服务 AJMP INTIR IR1: 中断服务子程序 AJMP INTIR IR2: 中断服务子程序 AJMP INTIR IR3: 中断服务子程序 AJMP INTIP 14、请回答:

1.下图中外部扩展的程序存储器和数据存储器容量各是多少?

2.两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) 3.请编写程序,要求:

(1)将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中; (2)将2# 6264的前4个单元的内容送入40H~43中

P2.7 P2.6 P2.5 P2.4 ● ● │

5 5 5 5 P2.0 Q0 D0

● ● │ │ 8 8 8

D7 Q7 A0-A7 A8-A12 A0-A7 A8-A12 A0-A7 A8-A12

CE CE CE G OE ALE 1# 6264 74LS2# 6264 2764 +5V CS +5V CS 8031 8 D0-D7 OE WR D0-D7 OE WR OE 8 8 8 P0.7 8 ● ● ● │

P0.0 PSEN ● RD ● WR

解:1.外扩程序存储器的容量是8K,外扩数据存储器的容量是16K 解:2、2764范围:C000H~DFFFH

1#范 围: A000H~BFFFH 2#范 围: 6000H~7FFFH

3.编写程序 解:(1)mov R1 ,#10H

mov DPTR,@0A000H mov R0,#30H Loop:mov A,@Ro

Movx @DPTR,A INC DPTR INC Ro

DINE R1,Loop RET

(2) mov R1,#04H

mov DPTR,#6000H mov Ro ,#40H

Loop:movx A ,@DPTR Mov @Ro ,A INC DPTR INC Ro

DTNZ R1 ,Loop RET