一、 简答题
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