Page 63 -
P. 63

RT4:  CJNE       A,#FFH,RT3  ;載入 DPTR 所指位址之資料至累積器 A 中
RT5:  MOV        A,#0        ;輸出資料至埠 3
RT6:  MOVC       A,@A+DPTR   ;呼叫 0.2 秒延遲副程式
RT7:  MOV        P3,A        ;將 DPTR 加 1, 即用於指向下一筆資料
      CALL       DELAY       ;比較 A 是否為值 0, 若否則跳回 RT4 重新執行
      INC        DPTR        ;載入 DPTR 所指位址之資料至累積器 A 中
      CJNE       A,#0,RT4
      MOV        A,#0        ;載入 DPTR 所指位址之資料至累積器 A 中
      MOVC       A,@A+DPTR
      MOV        P2,A        ;載入 DPTR 所指位址之資料至累積器 A 中
      CALL       DELAY
      INC        DPTR
      CJNE       A,#0,RT5
      MOV        A,#0
      MOVC       A,@A+DPTR
      MOV        P1,A
      CALL       DELAY
      INC        DPTR
      CJNE       A,#0,RT6
      MOV        A,#0
      MOVC       A,@A+DPTR
      MOV        P0,A
      CALL       DELAY
      INC        DPTR
      CJNE       A,#0,RT7
      JMP        LOOP

DELAY: MOV       R5,#10
D1: MOV          R6,#40
D2: MOV          R7,#249
                 R7,$
           DJNZ  R6,D2
           DJNZ  R5,D1
           DJNZ
           RET

DAT:  DB         01H,03H,07H,0FH,1FH,3FH,7FH,FFH
      DB         01H,03H,07H,0FH,1FH,3FH,7FH,FFH
      DB         01H,03H,07H,0FH,1FH,3FH,7FH,FFH
   58   59   60   61   62   63   64   65   66   67   68