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