📄 slh_51.a51
字号:
L1 DATA 61H
L2 DATA 62H
L3 DATA 63H
L4 DATA 64H
L5 DATA 65H
L6 DATA 66H
L7 DATA 67H
L8 DATA 68H
L9 DATA 69H
L10 DATA 6AH
L11 DATA 6BH
L12 DATA 6CH
L13 DATA 6DH
L14 DATA 6EH
L15 DATA 6FH
L16 DATA 70H
L17 DATA 71H
L18 DATA 72H
L19 DATA 73H
L20 DATA 74H
L21 DATA 75H
L22 DATA 76H
L23 DATA 77H
L24 DATA 78H
TMP_P0 DATA 20H
TMP_P1 DATA 21H
TMP_P2 DATA 22H
JS DATA 18H
FB DATA 7CH
L25 DATA 79H
L26 DATA 7AH
L27 DATA 7BH
DSBZ BIT 7FH
DCBZ BIT 7EH
TCBZ BIT 7DH
LDBZ BIT 7CH
MSBZ BIT 7BH
DSYS DATA 7DH
INT01 DATA 19H
INT02 DATA 1AH
TRED DATA 7FH
TYEL DATA 7EH
TBLU DATA 60H
LP0 DATA 5FH
LP1 DATA 5EH
LP2 DATA 5DH
MSH DATA 5CH
CHI DATA 10H
MIAO DATA 11H
SSH DATA 12H
SST DATA 13H
LH DATA 14H
LL DATA 15H
MSJS DATA 5BH
GH DATA 5AH
SG DATA 59H
LG DATA 58H
LMBZ BIT 78H
TG DATA 57H
JPI DATA 16H
JPBZ BIT 79H
JPA DATA 17H
HPA DATA 08H
HPB DATA 09H
HPC DATA 0AH
HPD DATA 0BH
HPE DATA 0CH
HPF DATA 0DH
HPG DATA 0EH
HPH DATA 0FH
IFPOP DATA 56H
W01 DATA 23H
W02 DATA 24H
HPI DATA 25H
HPJ DATA 26H
ER1 DATA 27H
ER2 DATA 28H
JPBZ1 BIT 77H
LCBZ BIT 76H
JBZ BIT 75H
TMP_TH DATA 50H
TMP_TL DATA 51H
JBG DATA 52H
TMP_BG DATA 53H
DDBZ BIT 74H
GDBZ BIT 73H
YXBZ BIT 72H
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP INT001
ORG 000BH
AJMP TIMER
TIMER:CLR EA
PUSH ACC
PUSH PSW
SETB EA
SETB RS0
SETB RS1
MOV P0,TMP_P0
MOV P1,TMP_P1
MOV P2,TMP_P2
ZD02: CJNE R0,#00H,ZD102
AJMP ZD100
ZD102:CLR TR0
ACALL TABLE
SETB TR0
ZD50: DEC R0
CLR C
MOV A,R0
SUBB A,L1
MOV 00H,C
CLR C
MOV A,R0
SUBB A,L2
MOV 01H,C
CLR C
MOV A,R0
SUBB A,L3
MOV 02H,C
CLR C
MOV A,R0
SUBB A,L4
MOV 03H,C
CLR C
MOV A,R0
SUBB A,L5
MOV 04H,C
CLR C
MOV A,R0
SUBB A,L6
MOV 05H,C
CLR C
MOV A,R0
SUBB A,L7
MOV 06H,C
CLR C
MOV A,R0
SUBB A,L8
MOV 07H,C
CLR C
MOV A,R0
SUBB A,L9
MOV 08H,C
CLR C
MOV A,R0
SUBB A,L10
MOV 09H,C
CLR C
MOV A,R0
SUBB A,L11
MOV 0AH,C
CLR C
MOV A,R0
SUBB A,L12
MOV 0BH,C
CLR C
MOV A,R0
SUBB A,L13
MOV 0CH,C
CLR C
MOV A,R0
SUBB A,L14
MOV 0DH,C
CLR C
MOV A,R0
SUBB A,L15
MOV 0EH,C
CLR C
MOV A,R0
SUBB A,L16
MOV 0FH,C
CLR C
MOV A,R0
SUBB A,L17
MOV 10H,C
CLR C
MOV A,R0
SUBB A,L18
MOV 11H,C
CLR C
MOV A,R0
SUBB A,L19
MOV 12H,C
CLR C
MOV A,R0
SUBB A,L20
MOV 13H,C
CLR C
MOV A,R0
SUBB A,L21
MOV 14H,C
CLR C
MOV A,R0
SUBB A,L22
MOV 15H,C
CLR C
MOV A,R0
SUBB A,L23
MOV 16H,C
CLR C
MOV A,R0
SUBB A,L24
MOV 17H,C
ZD51: CLR EA
POP PSW
POP ACC
SETB EA
RETI
TABLE:MOV A,R0
ADD A,R0
ADD A,#19
TAB02:MOVC A,@A+PC
MOV TH0,A
MOV A,R0
ADD A,R0
ADD A,#13
TAB03:MOVC A,@A+PC
MOV TL0,A
RET
ZD100:NOP
NOP
NOP
NOP
NOP
NOP
MOV P0,#00H
MOV P1,#00H
MOV P2,#00H
CLR TR0
AJMP ZD51
TAB01:DW 64114,64451,64595,64667,64697
DW 64697,64666,64595,64449,64111,59851
DW 61528,64118,64452,64596,64667,64697
DW 64697,64666,64594,64448,64108,60952,0FF38H
INT001:CLR EA
PUSH ACC
PUSH PSW
SETB EA
INC FB
;MOV A,FB
;CJNE A,#3,INT008
;MOV FB,#1
INT008:MOV JS,#18H
SETB RS1
SETB RS0
JB DSBZ,INT002
INT004:AJMP ZD102
INT002:INC R1
CJNE R1,#0FAH,INT004
INT003:INC R2
MOV R1,#0
CJNE R2,#78H,INT004
INT005:MOV R2,#0
DJNZ DSYS,INT004
CLR DSBZ
MOV P0,#0
MOV P1,#0
MOV P2,#0
CLR TR0
CLR EX0
INT006:AJMP INT006
MAIN: MOV A,#01H
MOV GH,A
MOV SG,A
MOV A,#00H
MOV TMP_P0,A
MOV TMP_P1,A
MOV TMP_P2,A
MOV JS,A
MOV FB,A
MOV DSYS,A
MOV INT01,A
MOV INT02,A
MOV MSH,A
MOV CHI,A
MOV MIAO,A
MOV MSJS,A
MOV TG,#0CH
MOV 2FH,#04H
MOV TMOD,#51H
MOV TCON,#45H
MOV IP,#03H
MOV IE,#03H
MOV SP,#30H
MOV DPTR,#35FFH
MOV P3,#24H
SETB EA
;
MOV SSH,#8
MOV SST,#5
MOV HPA,#1
MOV HPB,#0
MOV HPC,#8
MOV HPD,#12
MOV HPE,#21
MOV HPF,#2
MOV HPG,#16
MOV HPH,#7
MOV HPI,#0
MOV HPJ,#3
MOV ER1,#24
MOV ER2,#0
MOV W01,#0
CALL DH01
;
DH01: MOV A,FB
CJNE A,#1,DH03
AJMP DH02
DH03: MOV A,FB
CJNE A,#2,DH01
MOV FB,#0
CLR JPBZ1
DH04: JNB JBZ,DH05
MOV TMP_TH,TH1
MOV TMP_TL,TL1
MOV TL1,#0
MOV TH1,#0
MOV JBG,#0
DH06: MOV A,JBG
ADD A,JBG
MOV TMP_BG,A
ADD A,#13 ;校正#03H以读取db01表格内容
MOVC A,@A+PC
CJNE A,TMP_TH,DH07
MOV A,TMP_BG
ADD A,#06H
MOVC A,@A+PC
CJNE A, TMP_TL,DH07
AJMP DH09
db01: DW 30,44,57,68,85,111,139,167,194,230
DH07: MOV TL1,#0
MOV TH1,#0
JC DH10
AJMP DH09
DH10: INC JBG
MOV A, JBG
CJNE A, #9,DH06
DH11: CLR JBZ
AJMP DH12
DH05: MOV TL1,#0
MOV TH1,#0
SETB JBZ
AJMP DH12
DH02: JB JPBZ1,DH03
SETB JPBZ1
JMP DH04
DH12: JB JPBZ1,DH03
JB DDBZ,DH01
JB LCBZ,DH13
DY00: INC CHI
MOV A,#24
CJNE A,CHI,DY03
MOV CHI,#0
INC MIAO
MOV A,SST
CJNE A,MIAO,DY03
MOV MIAO,#0
MOV CHI,#0
RET
;
DY03: MOV A,SSH
ADD A,SSH
ADD A,SSH
CLR C
SUBB A,#3
MOV DPTR,#TAB05
JMP @A+DPTR
TAB05:LJMP H100
LJMP H200
LJMP H300
LJMP H400
LJMP H500
LJMP H600
LJMP H700
LJMP H800
; LJMP H900
; LJMP HA00
; LJMP HB00
DH09: MOV A,JBG
JZ DH11
MOV DPTR,#TAB81
MOVC A,@A+DPTR
JMP @A+DPTR
TAB81:DB 0
DB SB0-TAB81
DB SB1-TAB81
DB SB2-TAB81
DB SB3-TAB81
DB SB4-TAB81
DB SB5-TAB81
DB SB6-TAB81
DB SB7-TAB81
DH13: CLR LCBZ
MOV DPTR,#TAB82
MOV A,MSH
ADD A,MSH
MOV TMP_BG,A
MOVC A,@A+DPTR
XCH A,TMP_BG
INC A
MOVC A,@A+DPTR
MOV R1,SP
MOV @R1,TMP_BG
DEC R1
MOV @R1,A
RET
TAB82:DW LC01
DW LC02
DW LC03
DW LC04
DW LC05
DW LC06
DW LC07
DW LC08
SB0: CPL DDBZ
CLR JBZ
AJMP DH12
SB1: CLR JBZ
JNB DDBZ,ky88
INC DSYS
MOV A,DSYS
CJNE A,#25,KY01
MOV A,#0
CALL LMD
MOV DSYS,#0
CLR DSBZ
AJMP DH12
KY01: MOV A,DSYS
CALL LD
SETB DSBZ
AJMP DH12
SB2: CLR JBZ
JNB DDBZ,ky88
INC MSH
MOV A,MSH
CJNE A,#9,KY02
MOV MSH,#0
MOV A,#24
CALL LMD
KY03: SETB LCBZ
AJMP DH12
KY02: MOV A,MSH
ADD A,MSH
ADD A,MSH
CALL LD
AJMP KY03
SB3: CLR JBZ
JNB DDBZ,ky88
INC TG
MOV A,TG
CJNE A,#25,KY04
MOV TG,#1
MOV A,TG
KY04: CALL LMD
AJMP DH12
SB4: CLR JBZ
JNB DDBZ,ky88
INC TRED
MOV A,TRED
CJNE A,#25,KY05
MOV TRED,#0
KY05: CALL TS
ky88: AJMP DH12
SB5: CLR JBZ
JNB DDBZ,ky88
INC TYEL
MOV A,TYEL
CJNE A,#25,KY06
MOV TYEL,#0
KY06: CALL TS
AJMP DH12
SB6: CLR JBZ
JNB DDBZ,ky88
INC TBLU
MOV A,TBLU
CJNE A,#25,KY07
MOV TBLU,#0
KY07: CALL TS
AJMP DH12
SB7: CLR JBZ
JNB DDBZ,ky88
CPL GDBZ
JB GDBZ,KY08
SETB YXBZ
CLR DDBZ
AJMP DH12
KY08: CLR A
CALL LMD
SETB DDBZ
CLR YXBZ
AJMP DH12
LMD: CLR RS1
MOV R0,#61H
LMD01:MOV @R0,A
INC R0
CJNE R0,#79H,LMD01
SETB RS1
RET
TS: CLR RS1
MOV R0,#61H
TS01: MOV @R0,TRED
INC R0
MOV @R0,TYEL
INC R0
MOV @R0,TBLU
INC R0
CJNE R0,#79H,TS01
SETB RS1
RET
LD: CLR RS1
MOV R0,#61H
LD02: ADD A,#0
JNZ LD01
SETB RS1
RET
LD01: DEC A
MOV @R0,#24
INC R0
SJMP LD02
H100: CLR RS1
INC HPB
MOV A, HPB
CJNE A,HPA,H101
MOV HPB,#00H
INC HPE
MOV A,HPE
CJNE A,#49,H102
MOV HPE ,#00H
H102: MOV A, #00H
MOV R1,A
MOV R2,#01H
MOV R3,A
MOV R4,A
MOV R0,#61H
H103: INC R1
CJNE R1,#04H,H104
MOV R1,#01H
MOV A, R4
ADD A, HPC
MOV R4, A
H104: MOV A, R1
CJNE A, #01H,H120
MOV R3, #00H
H120: CJNE A, #02H,H121
MOV R3, HPD
H121: CJNE A, #03H,H107
MOV R3, HPD
MOV A, HPD
ADD A, R3
MOV R3, A
H107: MOV A,R4
ADD A, R3
ADD A, HPE
MOV B, #48
DIV AB
MOV A, B
CLR C
SUBB A, #18H
JNC H108
MOV @R0 ,B
H110: INC R0
INC R2
CJNE R2,#19H,H103
H101: SETB RS1
LJMP DH01
H108: MOV A, #48
CLR C
SUBB A, B
MOV @R0,A
SJMP H110
H200: CLR RS1
INC HPB
MOV A,HPB
CJNE A, HPA,H201
MOV HPB,#00H
INC HPC
INC HPD
INC HPE
MOV A, HPC
CJNE A, #49,H202
MOV HPC ,#00H
H202: MOV A, HPD
CJNE A, #47,H203
MOV HPD ,#00H
H203: MOV A,HPE
CJNE A,#45, H204
MOV HPE, #00H
H204: MOV R0, #61H
MOV R1, #01H
MOV R2, #00H
MOV R3, #00H
H205: INC R2
CJNE R2,#4,H206
MOV R2,#1
H206: CJNE R2,#1, H208
MOV A, HPC
CJNE A,#24, H2DD
H2DD: JC H207
MOV A, #48
CLR C
SUBB A, HPC
AJMP H207
H208: CJNE R2,#2, H209
MOV A,HPD
CJNE A,#23, H2BB
H2BB: JC H207
MOV A, #46
CLR C
SUBB A,HPD
AJMP H207
H209: MOV A, HPE
CJNE A,#22, H2CC
H2CC: JC H207
MOV A,#44
CLR C
SUBB A,HPE
H207: MOV @R0,A
INC R0
INC R1
CJNE R1,#25,H205
H201: SETB RS1
LJMP DH01
H300: CLR RS1
INC HPB
MOV A, HPB
CJNE A, HPA, H301
MOV HPB, #00H
MOV A,HPD
CJNE A,#1,H302
MOV A,HPH
CJNE A,#8,H302
MOV A,HPI
CJNE A,#1,H303
MOV A,HPA
CJNE A,HPE,H3DD
H3DD: JC H305
CLR C
SUBB A,HPF
JNC H304
MOV HPI,#0
H304: MOV A,HPI
CJNE A,#1,H306
MOV A,HPA
CLR C
SUBB A,HPE
MOV HPA,A
H302: MOV R1,#01H
MOV R0,#61H
MOV L25,L1
MOV L26, L2
MOV L27, L3
H307: MOV A, R0
ADD A,#03H
MOV R0,A
MOV 02H,@R0
MOV A, HPG
CJNE A,#01H,H308
INC R2
CJNE R2,#25,H308
MOV R2,#00H
H308: MOV A, R0
CLR C
SUBB A, #03H
MOV R0,A
MOV @R0,02H
INC R0
INC R1
MOV A, R1
CJNE A, #25,H307
INC HPH
MOV A,HPH
CJNE A,#9,H301
MOV HPH,#1
H301: SETB RS1
LJMP DH01
H303: MOV A,HPA
ADD A,HPE
CJNE A,HPC,H3CC
H3CC: JC H304
MOV HPI,#1
JMP H304
H305: MOV HPI,#0
JMP H304
H306: MOV A,HPA
ADD A,HPE
MOV HPA,A
JMP H302
H400: CLR RS1
INC HPB
MOV A,HPB
CJNE A,HPA,H401
MOV HPB,#0
CLR A
MOV R2,A
MOV R3,A
MOV R5,A
MOV R6,A
MOV R7,A
MOV ER1,A
MOV ER2,A
MOV R1,#1
MOV R4,#1
MOV R0,#61H
MOV A,HPF
JZ H402
DEC HPG
MOV A,HPG
JNZ H403
MOV HPF,#0
H403: MOV A,HPG
ADD A,#3
MOV R2,A
H420: MOV A,#11
CLR C
SUBB A,R2
JC H404
MOV A,R2
CLR C
SUBB A,#4
JC H404
MOV R5,HPC
MOV R4,#0
H405: MOV A,R2
CJNE A,04H,H406
H407: MOV A,R5
MOV R7,A
H408: MOV R7,A
MOV B,#48
DIV AB
MOV R6,B
MOV A,R6
CLR C
SUBB A,#24
MOV ER1,A
JNC H409
MOV A,R6
MOV @R0,A
H410: INC R0
MOV A,HPD
ADD A,R5
MOV R5,A
INC ER2
MOV A,ER2
CJNE A,#3,H407
H411: MOV ER2,#0
INC R1
DEC R2
MOV A,R1
CJNE A,#5,H420
MOV R1,#0
MOV R6,#0
H412: MOV A,HPH
JZ H413
; INC R6
; MOV A,R6
; CJNE A,#3,H414
; MOV R6,#0
SJMP H414
H401: SETB RS1
LJMP DH01
H414: MOV A,#0
ADD A,R6
ADD A,R6
ADD A,#0d7h
MOV R5,A
INC R6
MOV A,R6
CJNE A,#3,H415
MOV R6,#0
H415: MOV A,R5
CLR C
SUBB A,R0
MOV R0,A
MOV ER2,@R0
MOV A,R5
CLR C
SUBB A,R0
MOV R0,A
MOV @R0,ER2
H416: INC R0
INC R1
MOV A,R1
CJNE A,#12,H412
AJMP H401
H402: INC HPG
MOV A,HPG
CJNE A,#11,H403
MOV HPF,#1
AJMP H403
H404: MOV @R0,#24
INC R0
MOV @R0,#24
INC R0
MOV @R0,#24
INC R0
AJMP H411
H406: MOV A,HPE
ADD A,R5
MOV R5,A
INC R4
AJMP H405
H409: MOV A,#48
CLR C
SUBB A,R6
MOV ER1,A
MOV @R0,ER1
AJMP H410
H413: MOV A,R0
CLR C
SUBB A,#12
MOV R0,A
MOV ER2,@R0
MOV A,R0
ADD A, #12
MOV R0,A
MOV @R0,ER2
AJMP H416
H500: CLR RS1
INC HPB
MOV A, HPB
CJNE A, HPA, H501
MOV HPB,#00H
MOV R1, #01H
MOV R0,#61H
H502: MOV A,@R0
CJNE A, HPC,H504
H50D: INC R0
SJMP H50A
H504: JC H505
DEC @R0
SJMP H50D
H505: INC @R0
SJMP H50D
H50A: MOV A, @R0
CJNE A,HPD,H507
H50E: INC R0
SJMP H50B
H507: JC H508
DEC @R0
SJMP H50E
H508: INC @R0
SJMP H50E
H50B: MOV A, @R0
CJNE A,HPE,H509
H50F: INC R0
SJMP H506
H509: JC H510
DEC @R0
SJMP H50F
H510: INC @R0
SJMP H50F
H506: INC R1
CJNE R1,#09H,H502
H501: SETB RS1
LJMP DH01
H600: CLR RS1
INC HPB
MOV A,HPB
CJNE A,HPA,H601
MOV HPB,#00H
MOV R0,#61H
MOV R1,#01H
MOV R2,#00H
INC ER2
MOV A, ER2
CJNE A,#04H,H602
MOV ER2,#01H
H602: MOV A,ER2
CJNE A, #01H,H603
MOV A, HPC
CJNE A,HPF,H604
SETB W01.0
SJMP H606
H604: JC H605
DEC HPC
SJMP H606
H605: INC HPC
H606: MOV R2, HPC
SJMP H614
H603: CJNE A, #02H,H607
MOV A, HPD
CJNE A, HPG,H608
SETB W01.1
SJMP H610
H608: JC H609
DEC HPD
H610: MOV R2,HPD
SJMP H614
H609: INC HPD
SJMP H610
H601: SETB RS1
AJMP DH01
H607: MOV A, HPE
CJNE A,HPH,H611
SETB W01.2
SJMP H613
H611: JC H612
DEC HPE
H613: MOV R2,HPE
SJMP H614
H612: INC HPE
SJMP H613
H614: MOV A,R0
ADD A, ER2
DEC A
MOV R0,A
H615: MOV @R0,02H
MOV A,R0
ADD A, #03H
MOV R0,A
INC R1
CJNE R1,#09H,H615
MOV A,W01
CJNE A, #07H,H601
MOV HPC,HPF
MOV HPD,HPG
MOV HPE,HPH
MOV HPF,HPI
MOV HPG,HPJ
MOV HPH,ER1
MOV W01,#00H
SJMP H601
H700: CLR RS1
INC HPB
MOV A, HPB
CJNE A, HPA,H701
MOV HPB,#00H
MOV A,#00H
MOV R1,A
MOV R2,A
MOV R3,A
MOV R4,A
MOV R0,#61H
H702: MOV L25,@R0
INC R0
MOV L26,@R0
INC R0
MOV L27,@R0
INC R0
MOV 02H,@R0
INC R0
MOV 03H,@R0
INC R0
MOV 04H,@R0
MOV A, R0
CLR C
SUBB A,#05H
MOV R0,A
MOV @R0,02H
INC R0
MOV @R0,03H
INC R0
MOV @R0,04H
INC R0
MOV @R0,L25
INC R0
MOV @R0,L26
INC R0
MOV @R0,L27
INC R0
INC R1
CJNE R1,#04H,H702
H701: SETB RS1
AJMP DH01
H800: CLR RS1
INC HPB
MOV A, HPB
CJNE A,HPA,H801
MOV A,#0
MOV HPB,A
MOV R4,A
MOV R5,A
MOV R6,A
MOV R3,#1
MOV R0,#61H
H802: MOV A,HPI
JZ H803
MOV R4,HPC
MOV R5,HPD
MOV R6,HPE
H804: MOV A,R4
MOV @R0,A
INC R0
MOV A,R5
MOV @R0,A
INC R0
MOV A,R6
MOV @R0,A
INC R0
MOV A,HPI
CPL A
MOV HPI,A
INC R3
CJNE R3,#9,H802
MOV A,HPI
CPL A
MOV HPI,A
H801: SETB RS1
AJMP DH01
H803: MOV R4,HPF
MOV R5,HPG
MOV R6,HPH
SJMP H804
LC01: NOP
LC02: NOP
LC03: NOP
LC04: NOP
LC05: NOP
LC06: NOP
LC07: NOP
LC08: NOP
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -