Sunday, March 27, 2011

DJNZ的問題

mov A,#80
mov RR1,A
mov A,#2
MOV RR2,A
MOV A,#1
MOV RR3,A //R1 = 80 R2=2
POP A
KO: CLR P3.2
;mov a,#00H
MOVX @DPTR,A
SETB P3.2
INC DPTR
DJNZ R1,KO
DJNZ R2,KO
;DJNZ R3,KO
RET

但當R1跑了80次後,R2-1 = 1 此時R1要從 255開始跑


解法:
用mod概念
假設要480
480 = 255 * 1 + 225
所以r1 設 225
r2設2
就可以得到所求

No comments:

Post a Comment