ORG 000H
LJMP MAIN
ORG 0003H
LJMP CHANGE
ORG 000BH
LJMP TIME
ORG 0013H
LJMP TIAOSHI
ORG 001BH
LJMP YANSHI
MAIN:MOV SP,#50H
MOV TCON,#04H
MOV 20H,#00H
MOV 21H,#0CH
MOV 22H,#00H
MOV 23H,#00H
MOV 24H,#02H
MOV 25H,#01H
MOV 26H,#0CH
MOV 30H,#00H
MOV 31H,#00H
MOV 32H,#02H
MOV 33H,#01H
MOV 34H,#00H
MOV 35H,#00H
MOV 36H,#00H
MOV 37H,#00H
MOV TMOD,#11H
MOV TH0,#0D8H
MOV TL0,#0F0H
MOV IE,#1000111B
MOV IP,#05H
MOV R2,#64H
CLR P3.6
START:LCALL DISPT
LCALL DISPF
JNB P1.0,PP1
JNB P1.1,PP2
JNB P1.2,PP3
JNB P1.3,PP4
JNB P1.4,PP55
JNB P1.5,PP66
JNB P1.6,PP77
JNB P1.7,PP88
JB P3.0,START
LCALL DELAY
JB P3.0,START
STOP1:JNB P3.0,STOP1
LCALL DELAY
JNB P3.0,STOP1
CPL TR0
LJMP START
PP55:LJMP PP5
PP66:LJMP PP6
PP77:LJMP PP7
PP88:LJMP PP8
PP1:LCALL DELAY
JB P1.0,PPB
STOP11:JNB P1.0,STOP11
LCALL DELAY
JNB P1.0,STOP11
INC 22H
MOV A,22H
LJMP STOREA
PP2:LCALL DELAY
JB P1.1,PPB
STOP22:JNB P1.1,STOP22
LCALL DELAY
JNB P1.1,STOP22
MOV A,22H
ADD A,#02
MOV 22H,A
LJMP STOREA
PP3:LCALL DELAY
JB P1.2,PPB
STOP33:JNB P1.2,STOP33
LCALL DELAY
JNB P1.2,STOP33
MOV A,22H
ADD A,#03
MOV 22H,A
LJMP STOREA
PP4:LCALL DELAY
JB P1.3,PPB
STOP44:JNB P1.3,STOP44
LCALL DELAY
JNB P1.3,STOP44
DEC 22H
MOV A,22H
STOREA:MOV B,#0AH
DIV AB
MOV 34H,B
MOV 35H,A
PPB:LJMP START
PP5:LCALL DELAY
JB P1.4,PPC
STOP55:JNB P1.4,STOP55
LCALL DELAY
JNB P1.4,STOP55
INC 23H
MOV A,23H
LJMP STOREB
PP6:LCALL DELAY
JB P1.5,PPC
STOP66:JNB P1.5,STOP66
LCALL DELAY
JNB P1.5,STOP66
MOV A,23H
ADD A,#02
MOV 23H,A
LJMP STOREB
PP7:LCALL DELAY
JB P1.6,PPC
STOP77:JNB P1.6,STOP77
LCALL DELAY
JNB P1.6,STOP77
MOV A,23H
ADD A,#03
MOV 23H,A
LJMP STOREB
PP8:LCALL DELAY
JB P1.7,PPC
STOP88:JNB P1.7,STOP88
LCALL DELAY
JNB P1.7,STOP88
DEC 23H
MOV A,23H
STOREB:MOV B,#0AH
DIV AB
MOV 36H,B
MOV 37H,A
PPC:LJMP START
DELAY:MOV R4,#5H
DL00:MOV R5,#0FFH
DL11:DJNZ R5,DL11
DJNZ R4,DL00
RET
;;;;;;;;;;;;±ò;;;;;;;;;;;;;;;
TIME:PUSH ACC
PUSH PSW
MOV TH0,#0D8H
MOV TL0,#0F0H
DJNZ R2,RET0
MOV R2,#64H
MOV A,20H
CLR C
DEC A
MOV 20H,A
MOV A,21H
CJNE A,#00H,PFF
CLR TR0
MOV 20H,#00H
MOV 21H,#00H
MOV 32H,#00H
MOV 33H,#00H
LCALL MINGYIN
MOV 21H,26H
MOV 30H,#00H
MOV 31H,#00H
MOV 32H,24H
MOV 33H,25H
LJMP RET0
PFF:MOV A,20H
CJNE A,#0FFH,OUT
MOV 20H,#59
MOV 30H,#09H
MOV 31H,#05H
MOV A,21H
DEC A
MOV 21H,A
OUT:MOV A,20H
MOV B,#0AH
DIV AB
MOV 30H,B
MOV 31H,A
MOV A,21H
MOV B,#0AH
DIV AB
MOV 32H,B
MOV 33H,A
RET0:POP PSW
POP ACC
RETI
YANSHI:PUSH ACC ;¨±÷
PUSH PSW
MOV TH1,#0D8H
MOV TL1,#0F0H
DJNZ R2,RET1
MOV R2,#64H
DJNZ 39H,RET1
MOV 39H,#30H
MOV R2,#64H
CLR TR1
CLR P3.6
RET1:POP PSW
POP ACC
RETI
;;;;;;;;;;;;ù×ò
MINGYIN:SETB P3.6
MOV R2,#9FH
AAA:MOV R3,#9FH
BBB:DJNZ R3,BBB
LCALL DELAY
LCALL DELAY
LCALL DELAY
DJNZ R2,AAA
LCALL DELAY
CLR P3.6
SETB TR1
RETI
;;;;;;;;;;;±ò
DISPT:MOV R0,#30H
MOV R3,#0F7H
MOV A,R3
PLAYT:MOV P2,A
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,A
LCALL DL1
MOV P2,#0FFH
MOV A,R3
RR A
JNB ACC.7,LD1
INC R0
MOV R3,A
LJMP PLAYT
LD1:RET
;;;;;;;;;;;±·ò
DISPF:MOV R0,#34H
MOV R3,#7FH
MOV A,R3
PLAYF:MOV P2,A
MOV A,@R0
MOV DPTR,#DSEG1
MOVC A,@A+DPTR
MOV P0,A
LCALL DL1
MOV P2,#0FFH
MOV A,R3
JNB ACC.3,LD1
INC R0
MOV R3,A
LJMP PLAYF
AJMP LD1
;;;;;;;;;;;÷±±ò
DISPW:MOV R0,#24H
MOV R3,#0F7H
MOV A,R3
PLAYW:MOV P2,A
MOV A,@R0
MOV DPTR,#DSEG1
MOVC A,@A+DPTR
MOV P0,A
LCALL DL1
MOV P2,#0FFH
MOV A,R3
RR A
JNB ACC.1,LD1
INC R0
MOV R3,A
LJMP PLAYW
DL1:MOV R7,#05H
DL:MOV R6,#0FFH
DL6:DJNZ R6,DL6
DJNZ R7,DL
RET
DSEG1:DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
;;;;;;;;;;;;;÷±×ò
TIAOSHI:PUSH ACC
PUSH PSW
JB P3.3,CHU
LCALL DELAY
JB P3.3,CHU
STOPQ:JNB P3.3,STOPQ
LCALL DELAY
JNB P3.3,STOPQ
IF10: LCALL DISPW
LCALL DISPF
JNB P1.3,DECT
JB P1.0,WHAIT2
LCALL DELAY
JB P1.0,WHAIT2
STOPE:MOV C,P1.0
JNC STOPE
LCALL DELAY
MOV C,P1.0
JNC STOPE
INC 26H
LJMP STORE
DECT: MOV C,P1.3
LCALL DELAY
JC WHAIT2
STOPY:MOV C,P1.3
JNC STOPY
LCALL DELAY
MOV C,P1.3
JNC STOPY
DEC 26H
STORE:MOV 21H,26H
MOV 20H,#00H
MOV A,26H
MOV B,#0AH
DIV AB
MOV 24H,B
MOV 25H,A
MOV 30H,#00H
MOV 31H,#00H
MOV 32H,24H
MOV 33H,25H
LJMP IF10
WHAIT2:JB P3.3,IF10
LCALL DELAY
JB P3.3,IF10
STOPG:JNB P3.3,STOPG
LCALL DELAY
JNB P3.3,STOPG
CHU:POP PSW
POP ACC
RETI
;;;;;;;;;;;;;ò;;;;;;;;;;;;;;;;
CHANGE:PUSH PSW
PUSH ACC
JB P3.2,QU
LCALL DELAY
JB P3.2,QU
STOPCH:JNB P3.2,STOPCH
LCALL DELAY
JNB P3.2,STOPCH
MOV A,22H
XCH A,23H
MOV 22H,A
MOV A,34H
XCH A,36H
MOV 34H,A
MOV A,35H
XCH A,37H
MOV 35H,A
QU:POP ACC
POP PSW
RETI
END |