Page 61 -
P. 61

RT3:  CALL       DELAY    ;呼叫 0.2 秒延遲副程式
      MOV        A,R1
      CLR        C        ;清除進位旗標
      RLC        A        ;與進位旗標一起向左旋轉
      JNC        RT2      ;若進位旗標不為 0 則跳回再次執行
      MOV        A,#01H
      MOV        R1,A     ;與埠 3 執行互斥或
      XRL        A,P3     ;輸出資料至埠 3
      MOV        P3,A     ;呼叫 0.2 秒延遲副程式
      CALL       DELAY
      MOV        A,R1     ;清除進位旗標
      CLR        C        ;與進位旗標一起向左旋轉
      RLC        A        ;若進位旗標不為 0 則跳回再次執行
      JNC        RT3
      JMP        START    ;延遲時間約為 R5*20 mS

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

程式 2 說明:以查表法,輸出 P0 到 P3 之走馬燈。
;
; 本程式以 P0 到 P3 為輸出(查表法運用)
;
; 應用指令:
; BD 虛指令用以定義資料
; 間接資料指標暫存器 DPTR 之設定與索引定指法應用
; 比較是否相等指令 CJNE,若不等則跳躍
; 暫存器累加 1 指令
;
; 動作: LED 逐一亮起後再逐一滅掉
; 說明: 利用間接資料指標暫存器 DPTR 讀取資料庫之資料並顯示在各輸出埠上
   56   57   58   59   60   61   62   63   64   65   66