Page 92 -
P. 92

MOV TL0,#<(65536-46079) ;儲存 Timer0 計時 16 位元之低 8 位元
   MOV TH0,#>(65536-46079) ;儲存 Timer0 計時 16 位元之高 8 位元

   MOV   R0,Sec     ;將目前設定值存入暫存器中
   MOV   R1,Min     ;啟動計時
   MOV   R2,Hr
   SETB  TR0

   MOV MusicF,#1

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

   MOV R5,MusicF

   CJNE R5,#0,SHOW  ;測試是否啟動整點報時聲音

   CALL MUSIC

   MOV MusicF,#1

   JMP SHOW

;

; 輸入時使用之顯示副程式, 具有延遲時間

;

SHOW0: MOV A,Sec

   CALL BCD         ;呼叫轉換為二進位時進制副程式

   MOV P0,A

   MOV A,Min

   CALL BCD         ;呼叫轉換為二進位時進制副程式

   MOV P1,A

   MOV A,Hr

   CALL BCD         ;呼叫轉換為二進位時進制副程式

   MOV P2,A

   CALL DELAY

   RET

;
   87   88   89   90   91   92   93   94   95   96   97