Page 84 -
P. 84

計時中斷模式 1

;

; 本程式以計時中斷方式驅動, P0 到 P2 分別為秒分時的輸出,

; P3 為秒分時的設定輸入,

;

; 應用指令:

; 位元設定指令 SETB 用以設定位元為 1

; 比較跳躍指令 CJNE 若暫存器與參數值比較不相等實則跳躍

;

; 動作: 先輸入目前之時 P2 分 P1 秒 P0, 秒分時以十進制二進位法顯示

; 說明:

;

      ORG 00H

      JMP START

      ORG 0BH         ;Timer0 中斷向量位址

      JMP TIMER0_DRV  ;中斷服務程式執行

      ORG 30H

START: MOV SP,#30H    ;將堆疊指標重新指向

      MOV R6,#0       ;頻率記數初值設定為 0

      MOV R0,#0       ;時 R2 分 R1 秒 R0 初值設定為 0

      MOV R1,#0

      MOV R2,#0

RD1:  MOV  A,P3       ;讀入時之十位值初始設定值
      CPL  A
      MOV  R3,A
      ANL  A,#80H
      JZ   RD1
      MOV  A,R3
      ANL  A,#0FH
      MOV  B,#16
      MUL  AB
      MOV  P2,A
      MOV  R4,A

      MOV A,R3        ;轉換為十進制值儲存
      ANL A,#0FH
      MOV B,#10
   79   80   81   82   83   84   85   86   87   88   89