?? time.asm
字號:
ORG 0000H
JMP MAIN
ORG 000BH
LJMP LOOP1
ORG 001BH
LJMP LOOP2
;========================================
HOUR DATA 30H
MIN DATA 31H
SEC DATA 32H
COUNT1 DATA 33H
COUNT EQU 34H ;秒計數
COUNTM DATA 35H ;分個位計數
COUNTM1 DATA 36H ;分十位計數
COUNTH DATA 37H ;時個位計數
COUNTH1 DATA 38H ;時十位計數
COUNTER DATA 39H
;========================================
ORG 0030H
MAIN:
MOV P0,#0FFH
MOV P2,#0FFH
MOV COUNTER,#00H
MOV COUNT1,#01H
MOV COUNTM1,#00H
MOV COUNTH1,#00H
MOV COUNTH,#00H
MOV COUNTM,#00H
MOV HOUR,#00H
MOV MIN,#00H
MOV SEC,#01H
SETB COUNT
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV TH1,#8AH
MOV TL1,#0D0H
SETB PT0
SETB EA
SETB ET0
SETB ET1
START:
SETB TR0
SETB TR1
JNB COUNT,SEC1
LJMP START
LOOP1:
MOV TH0,#3CH
MOV TL0,#0B0H
MOV A,COUNT1
CJNE A,#28H,A0
JMP SEC01
A0: INC COUNT1
RETI
SEC01:
MOV COUNT1,#01H
CLR COUNT
RETI
SEC1:
SETB COUNT
INC SEC
MOV A,SEC
CJNE A,#60,B0
JMP MIN1
B0: JMP START
MIN1:
MOV SEC,#00H
INC MIN
INC COUNTM
MOV A,MIN
CJNE A,#60,A1
JMP HOUR1
A1: JMP START
HOUR1:
MOV MIN,#00H
INC HOUR
INC COUNTH
MOV A,HOUR
CJNE A,#24,A2
JMP ZERO1
A2: JMP START
ZERO1:
MOV HOUR,#00H
MOV COUNTH,#00H
MOV COUNTH1,#00H
JMP START
;=============================================
;讀顯示
LOOP2:
MOV TH1,#8AH
MOV TL1,#0D0H
MOV A,COUNTER
CJNE A,#0,C1
JMP MIN10
C1: CJNE A,#1,C2
JMP MIN11
C2: CJNE A,#2,C3
JMP HOUR10
C3: CJNE A,#3,C4
JMP HOUR11
C4: MOV COUNTER,#00H
RETI
;---------------------------------
;分鐘個位顯示
;---------------------------------
MIN10:
INC COUNTER
MOV A,COUNTM
CJNE A,#10,A3
JMP MINZERO
A3:
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#7FH
RETI
MINZERO:
MOV COUNTM,#00H
INC COUNTM1
MOV A,COUNTM1
CJNE A,#6,MIN11
JMP MINZREO1
;---------------------------------
;分鐘十位顯示
;---------------------------------
MIN11:
INC COUNTER
MOV A,COUNTM1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#0BFH
RETI
MINZREO1:
MOV COUNTM1,#00H
JMP A3
;---------------------------------
;小時個位顯示
;---------------------------------
HOUR10:
INC COUNTER
MOV A,COUNTH
CJNE A,#10,A4
JMP HOURZERO
A4:
MOV A,COUNTH
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#0DFH
RETI
HOURZERO:
MOV COUNTH,#00H
INC COUNTH1
MOV A,COUNTH1
CJNE A,#3,HOUR11
JMP HOURZREO1
;---------------------------------
;小時十位顯示
;---------------------------------
HOUR11:
MOV COUNTER,#00H
MOV A,COUNTH1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#0EFH
RETI
HOURZREO1:
MOV COUNTH1,#00H
JMP A4
TABLE: DB 0A0H,0BBH,62H,2AH,39H,2CH,24H,0BAH,20H,28H;數字0~9
TABLE1: DB 80H,9BH,42H,0AH,19H,0CH,04H,9AH,00H,08H;小時個位0~9
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -