MOV A,DPH
ADDC A,R2
MOV DPH,A
MOV A,R4 ;恢复读出数据
MOVX @DPTR,A ;写数据至目的地址
CLR C ;恢复源数据地址 .
MOV A,DPL
SUBB A,R3
MOV DPL,A
MOV A,DPH
SUBB A,R2
MOV DPH,A
INC DPTR ;地址加1
DJNZ R1,PP ;是否传送完?
SJMP $
注意:字节数据源地址和目的地址都在外部RAM中,地址指针都为DPTR,所以要注意DPTR地址指针的保护和恢复。地址的保护和恢复的方法有多种,如通过堆栈或寄存器。
【3-2 1】读下列程序,请:
① 写出程序功能,并以图示意。
② 对源程序加以注释。
ORG 0000H
MAIN:MOV DPTR,#TAB
MOV R1,#06H
LP: CLR A
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY O.5 s .
、INC DPTR
DJNZ R1,LP
AJMP MAIN’
TAB:DB 01H,03H,02H,06H,04H,05H
DEL AY0.5 s: ······
RET
END
【答】 .
① 程序功能:将TAB表中的6个参数依次从P1口中输出(每次输出延时0.5 s),然后
重复输出。P1口输出波形如图3-1所示。这是步进电机三相六拍输出波形。