为什么用这段程序,1302的秒位计时特别快

2019-07-15 15:04发布

ORG    0000H       ;
RST    BIT P3.5    ;
DSIO   BIT P3.4    ;
SCLK   BIT P3.6    ;
AJMP   START       ;
ORG    30H         ;
START:
MOV    R0,#00H     ;
MOV    R1,#00H     ;
MOV    DPTR,#TAB   ;
CLR    RST         ;
LCALL  L0          ;
CLR    SCLK        ;
NOP                ;
SETB   RST         ;
L1:
MOV    A,R0        ;
MOVC   A,@A+DPTR   ;
L2:
MOV    C,ACC.7     ;
MOV    DSIO,C      ;
NOP                ;
SETB   SCLK        ;
NOP                ;
CLR    SCLK        ;
INC    R1          ;
RL     A           ;
CJNE   R1,#08H,L2  ;
MOV    R1,#00H     ;
INC    R0          ;
CJNE   R0,#02H,L1  ;
CLR    RST         ;

TAB:
DB     8EH,00H     ;

MOV    R0,#00H     ;
MOV    R1,#00H     ;
MOV    DPTR,#TAB2  ;
LCALL  L0          ;
CLR    SCLK        ;
NOP                ;
SETB   RST         ;
L3:
MOV    A,R0        ;
MOVC   A,@A+DPTR   ;
L4:
MOV    C,ACC.7     ;
MOV    DSIO,C      ;
NOP                ;
SETB   SCLK        ;
NOP                ;
CLR    SCLK        ;
INC    R1          ;
RL     A           ;
CJNE   R1,#08H,L4  ;
MOV    R1,#00H     ;
INC    R0          ;
CJNE   R0,#02H,L3  ;
CLR    RST         ;

TAB2:
DB     80H,00H     ;

MOV    R0,#00H     ;
MOV    R1,#00H     ;
MOV    DPTR,#TAB3  ;
LCALL  L0          ;
CLR    SCLK        ;
NOP                ;
SETB   RST         ;
L5:
MOV    A,R0        ;
MOVC   A,@A+DPTR   ;
L6:
MOV    C,ACC.7     ;
MOV    DSIO,C      ;
NOP                ;
SETB   SCLK        ;
NOP                ;
CLR    SCLK        ;
INC    R1          ;
RL     A           ;
CJNE   R1,#08H,L6  ;
MOV    R1,#00H     ;
INC    R0          ;
CJNE   R0,#02H,L5  ;
CLR    RST         ;

TAB3:
DB     8EH,80H     ;

LL1:
MOV    R1,#00H     ;
MOV    A,#81H      ;
LCALL  L0          ;
CLR    SCLK        ;
NOP                ;
SETB   RST         ;
L7:
MOV    C,ACC.7     ;
MOV    DSIO,C      ;
NOP                ;
SETB   SCLK        ;
NOP                ;
CLR    SCLK        ;
INC    R1          ;
RL     A           ;
CJNE   R1,#08H,L7  ;

MOV    R1,#00H     ;
L8:
RR     A           ;
MOV    C,DSIO      ;
MOV    ACC.7,C     ;
SETB   SCLK        ;
NOP                ;
CLR    SCLK        ;
INC    R1          ;
CJNE   R1,#08H,L8  ;
CLR    RST         ;
MOV    20H,A       ;

MOV    DPTR,#TAB4  ;
MOV    21H,#00H    ;
MOV    A,20H       ;
MOV    C,ACC.0     ;
MOV    21H.0,C     ;
MOV    C,ACC.1     ;
MOV    21H.1,C     ;
MOV    C,ACC.2     ;
MOV    21H.2,C     ;
MOV    C,ACC.3     ;
MOV    21H.3,C     ;
MOV    A,21H       ;
MOVC   A,@A+DPTR   ;
MOV    P0,A        ;
LCALL  DELAY       ;
AJMP   LL1         ;

TAB4:
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;

L0:
NOP                ;
SETB   SCLK        ;
NOP                ;
CLR    DSIO        ;
NOP                ;
SETB   DSIO        ;
NOP                ;
RET                ;

DELAY:
    MOV  R3,#50    ;
D4: MOV  R4,#10    ;
D5: DJNZ R4,D5     ;
    DJNZ R3,D4     ;
        RET            ;

END.

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。