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
;