Page 93 -
P. 93
; 轉換十六進制值以十進位方式顯示
;
BCD: CJNE A,#FFH,CON
CON: JMP NC
MOV R3,A
NC: MOV B,#10
DIV AB
MOV R4,B
MOV B,#16
MUL AB
ADD A,R4
RET
;
; 時間延遲副程式
;
DELAY: MOV R5,#15 ;延遲時間約為 R5*20 mS
D1: MOV R6,#40
D2: MOV R7,#249
R7,$
DJNZ R6,D2
DJNZ R5,D1
DJNZ
RET
;
; 聲音產生副程式, 用於報時提醒
;
MUSIC: SETB ET1 ;致能 Timer1 中斷
MOV DPTR,#DAT
A,#0 ;載入 DPTR 所指位址之資料至累積器 A 中
LOOP1: MOV A,@A+DPTR ;測試是否為資料結束值 0
MOVC OVER ;儲存 Timer1 計頻 16 位元之高 8 位元
JZ TH1,A
MOV Tone_H,A
MOV DPTR
INC A,#0
MOV