Page 87 -
P. 87

ADD A,R5
       MOV R0,A

       MOV       TMOD,#01             ;設定 16 位元計時模式
       MOV       IP,#00000010B        ;設定 Timer0 為高優先權
       MOV       IE,#10000010B        ;致能 Timer0 中斷
       MOV       TL0,#<(65536-46079)  ;儲存 16 位元之低 8 位元
       MOV       TH0,#>(65536-46079)  ;儲存 16 位元之高 8 位元
       SETB      TR0                  ;啟動計時

SHOW:  MOV       A,R0
       CALL      BCD
       MOV       P0,A                 ;呼叫轉換為二進位時進制副程式
       MOV       A,R1                 ;呼叫轉換為二進位時進制副程式
       CALL      BCD                  ;呼叫轉換為二進位時進制副程式
       MOV       P1,A
       MOV       A,R2
       CALL      BCD
       MOV       P2,A
       JMP       SHOW

BCD:   MOV       R3,A
       MOV       B,#10
       DIV       AB
       MOV       R4,B
       MOV       B,#16
       MUL       AB
       ADD       A,R4
       RET

TIMER0_DRV:      TR0                  ;停止計時
           CLR   TL0,#<(65536-46079)  ;重新儲存 16 位元之低 8 位元
           MOV   TH0,#>(65536-46079)  ;重新儲存 16 位元之高 8 位元
           MOV   TR0                  ;再啟動計時
           SETB  R6
           INC   R6,#20,PASS
           CJNE  R6,#0
           MOV
   82   83   84   85   86   87   88   89   90   91   92