📄 程序.txt
字号:
MOV DOWN,#3
SJMP LAP200
LAP21:
CJNE A,#2,EXIT22
LAP200: CJNE R0,#TIME32,LAP22
LAP22:JC LAP23
MOV R0,#TIME1
MOV R1,#TIME01
SJMP LAP24
LAP23: INC R0
INC R1
LAP24: MOV DISPLAY2,@R0
MOV DISPLAY1,@R1
LCALL DISPLAY
LCALL S_DISP
EXIT22:POP PSW
SJMP EXIT43 ;下键处理程序
LAP004: JB 04H,EXIT43
JNB 05H,EXIT43
MOV FLASHPLAY,#0
MOV A,DISCOUNT
CJNE A,#31,LAP427
LAP427: JC LAP426
MOV DISCOUNT,#0
MOV DISPLAY2,TIME1
MOV DISPLAY1,TIME01
LCALL DISPLAY
LCALL S_DISP
SJMP EXIT43
LAP426:INC DISCOUNT
MOV R0,#TIME1
MOV A,DISCOUNT
ADD A,R0
MOV R0,A
ADD A,#32
MOV R1,A
MOV DISPLAY2,@R0
MOV DISPLAY1,@R1
LCALL DISPLAY
LCALL S_DISP
EXIT43:RET
END
;查询定时程序:上键处理程序
PROC PROUP
PROUP:JNB 01H,LAP003
PUSH PSW
SETB RS0
CLR RS1
;SETB 07H ;已经进入上下键查询的标志
INC UP
MOV A,UP
CJNE A,#20,LAP25
LAP25:JC LAP26
MOV UP,#3
SJMP LAP2B
LAP26:MOV A,UP
CJNE A,#2,EXIT021
LAP2B: CJNE R0,#TIME1,LAP27
MOV R0,#TIME32
MOV R1,#TIME032
SJMP LAP29
LAP27:JNC LAP28
MOV R0,TIME32
MOV R1,TIME032
SJMP LAP29
LAP28:DEC R0
DEC R1
LAP29:MOV DISPLAY2,@R0
MOV DISPLAY1,@R1
LCALL DISPLAY
LCALL S_DISP
EXIT021:POP PSW
SJMP EXIT20 ;上键处理程序入口条件:04h=0,05h=1
LAP003: JB 04H,EXIT20
JNB 05H,EXIT20
MOV FLASHPLAY,#0
MOV A,DISCOUNT
CJNE A,#0,LAP425
MOV DISCOUNT,#31
MOV DISPLAY2,TIME32
MOV DISPLAY1,TIME032
LCALL DISPLAY
LCALL S_DISP
SJMP EXIT20
LAP425: DEC DISCOUNT
MOV R0,#TIME1
MOV A,DISCOUNT
ADD A,R0
MOV R0,A
ADD A,#32
MOV R1,A
MOV DISPLAY2,@R0
MOV DISPLAY1,@R1
LCALL DISPLAY
LCALL S_DISP
EXIT20:RET
END
PROC PROCHANG
PROCHANG:
PUSH PSW
JNB 04H,LAP40
JNB 05H,LAP41
CLR 04H
CLR 05H
SJMP EXIT40
LAP41: CLR 04H
SETB 05H
MOV DISCOUNT,#0
MOV FLASHPLAY,#0
MOV DISPLAY2,TIME1
MOV DISPLAY1,TIME01
LCALL DISPLAY
LCALL S_DISP
SJMP EXIT40
LAP40:JB 05H,LAP42
SETB 04H
MOV DISCOUNT,#0
MOV FLASHPLAY,#0
MOV DISPLAY2,YEAR2
MOV DISPLAY1,YEAR1
LCALL DISPLAY
LCALL S_DISP
SJMP EXIT40
LAP42:CLR 05H
LCALL PAIXU
LCALL GUOLU
LCALL PAIXU
EXIT40:POP PSW
EXIT040:RET
END
PROC FLASHSCAN
FLASHSCAN:
MOV R1,#DISPBUF
MOV A,FLASHPLAY
ADD A,R1
MOV R1,A
MOV LIGHT,@R1
CPL FLASH
JNB FLASH,LAP43
SJMP EXIT41
LAP43:
MOV @R1,#0FFH
LCALL S_DISP
MOV @R1,LIGHT
SJMP FEXIT41
EXIT41:
MOV @R1,LIGHT
LCALL S_DISP
FEXIT41:RET
END
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PROC PRO0
PRO0: JNB 04H,LAP006
JB 05H,EXIT45
MOV R0,#STORE
MOV A,FLASHPLAY
ADD A,R0
MOV R0,A
MOV @R0,#0 ;存储改变的数值
MOV R1,#DISPBUF
MOV A,FLASHPLAY
ADD A,R1
MOV R1,A
MOV DPTR,#LEDTAB
MOV A,#0
MOVC A,@A+DPTR
MOV @R1,A ;存储改变的字模
LCALL S_DISP
INC FLASHPLAY
MOV A,FLASHPLAY
CJNE A,#4,LAP44
LAP44:JC EXIT45
MOV R0,#STORE
MOV A,@R0
MOV B,#10
MUL AB
MOV R4,A
INC R0
MOV A,@R0
ADD A,R4
MOV R4,A
INC R0
MOV A,@R0
MOV B,#10
MUL AB
MOV R5,A
INC R0
MOV A,@R0
ADD A,R5
MOV R5,A
MOV A,DISCOUNT
CJNE A,#0,LAP45
NEXT27:MOV A,R5 ;对是否闰年进行判断
JNZ NEXT828
MOV A,R4
RRC A
JC NEXT806
RRC A
JC NEXT806
NEXT828:MOV A,R5
RRC A
JC NEXT806
RRC A
JC NEXT806
SETB F0
SJMP NEXT807
NEXT806:CLR F0
NEXT807:LJMP SUCCESS4 ;无论是多少都可修改
LAP45:
CJNE A,#1,LAP46
MOV A,R4
JZ ERROR4
CJNE A,#13,LAP48
LAP48:JNC ERROR4
JB F0,LAP800
MOV DPTR,#TAB1
SJMP GOON10
LAP006:LJMP LAP005
LAP800:MOV DPTR,#TAB2
GOON10: DEC A
MOVC A,@A+DPTR
MOV B,R5
CJNE A,B,LAP402
LAP402: JC ERROR4
SJMP SUCCESS4
EXIT45:LJMP EXIT42
LAP46:CJNE A,#2,LAP812
MOV A,R4
JZ ERROR4
CJNE A,#8,LAP813
LAP813:JNC ERROR4
MOV A,R5
CJNE A,#24,LAP818
LAP818:JNC ERROR4
SJMP SUCCESS4
LAP812: MOV A,R4
CJNE A,#60,LAP820
LAP820:JNC ERROR4
MOV A,R5
CJNE A,#60,LAP821
LAP821:JNC ERROR4
SJMP SUCCESS4
ERROR4:MOV FLASHPLAY,#0
SJMP LAP407
;EXIT45:LJMP EXIT42 ; 接力
SUCCESS4:
MOV R0,#YEAR2 ;成功修改时间后,把改后的值放入
MOV A,DISCOUNT
ADD A,DISCOUNT
ADD A,R0
MOV R0,A
MOV A,R4
MOV @R0,A
INC R0
MOV A,R5
MOV @R0,A
MOV FLASHPLAY,#0
MOV A,DISCOUNT
CJNE A,#3,LAP405
LAP405:JC LAP406
MOV DISCOUNT,#0
MOV DISPLAY2,YEAR2
MOV DISPLAY1,YEAR1
LCALL DISPLAY
LCALL S_DISP
LJMP EXIT42
LAP406: INC DISCOUNT
LAP407: MOV R0,#YEAR2
MOV A,DISCOUNT
ADD A,DISCOUNT
ADD A,R0
MOV R0,A
MOV DISPLAY2,@R0
INC R0
MOV DISPLAY1,@R0
LCALL DISPLAY
LCALL S_DISP
LJMP EXIT42
LAP005:JNB 05H,EXIT62
MOV R0,#STORE
MOV A,FLASHPLAY
ADD A,R0
MOV R0,A
MOV @R0,#0 ;存储改变的数值
MOV R1,#DISPBUF
MOV A,FLASHPLAY
ADD A,R1
MOV R1,A
MOV DPTR,#LEDTAB
MOV A,#0
MOVC A,@A+DPTR
MOV @R1,A
LCALL S_DISP
INC FLASHPLAY
MOV A,FLASHPLAY
CJNE A,#4,LAP044
LAP044:JC EXIT62
MOV R0,#STORE
MOV A,@R0
MOV B,#10
MUL AB
MOV R4,A
INC R0
MOV A,@R0
ADD A,R4
MOV R4,A
INC R0
MOV A,@R0
MOV B,#10
MUL AB
MOV R5,A
INC R0
MOV A,@R0
ADD A,R5
MOV R5,A
CJNE R4,#24,LAP421
LAP421:JNC ERROR5
CJNE R5,#60,LAP422
LAP422:JNC ERROR5
SJMP SUCCESS5
EXIT62:SJMP EXIT42
ERROR5:MOV FLASHPLAY,#0
SJMP LAP4007
SUCCESS5:
MOV R0,#TIME1 ;成功修改时间后,把改后的值放入
MOV A,DISCOUNT
ADD A,R0
MOV R0,A
MOV A,R4
MOV @R0,A
MOV A,R0
ADD A,#32
MOV R0,A
MOV A,R5
MOV @R0,A
MOV FLASHPLAY,#0
MOV A,DISCOUNT
CJNE A,#31,LAP40005
LAP40005:JC LAP4006
MOV DISCOUNT,#0
MOV DISPLAY2,TIME1
MOV DISPLAY1,TIME01
LCALL DISPLAY
LCALL S_DISP
SJMP EXIT42
LAP4006: INC DISCOUNT
LAP4007:MOV R0,#TIME1
MOV A,DISCOUNT
ADD A,R0
MOV R0,A
MOV DISPLAY2,@R0
MOV A,R0
ADD A,#32
MOV R0,A
MOV DISPLAY1,@R0
LCALL DISPLAY
LCALL S_DISP
EXIT42:RET
END
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PROC PRO1
PRO1: JNB 04H,LAP006
JB 05H,EXIT45
MOV R0,#STORE
MOV A,FLASHPLAY
ADD A,R0
MOV R0,A
MOV @R0,#1 ;存储改变的数值
MOV R1,#DISPBUF
MOV A,FLASHPLAY
ADD A,R1
MOV R1,A
MOV DPTR,#LEDTAB
MOV A,#1
MOVC A,@A+DPTR
MOV @R1,A ;存储改变的字模
LCALL S_DISP
INC FLASHPLAY
MOV A,FLASHPLAY
CJNE A,#4,LAP44
LAP44:JC EXIT45
MOV R0,#STORE
MOV A,@R0
MOV B,#10
MUL AB
MOV R4,A
INC R0
MOV A,@R0
ADD A,R4
MOV R4,A
INC R0
MOV A,@R0
MOV B,#10
MUL AB
MOV R5,A
INC R0
MOV A,@R0
ADD A,R5
MOV R5,A
MOV A,DISCOUNT
CJNE A,#0,LAP45
NEXT27:MOV A,R5 ;对是否闰年进行判断
JNZ NEXT828
MOV A,R4
RRC A
JC NEXT806
RRC A
JC NEXT806
NEXT828:MOV A,R5
RRC A
JC NEXT806
RRC A
JC NEXT806
SETB F0
SJMP NEXT807
NEXT806:CLR F0
NEXT807:LJMP SUCCESS4 ;无论是多少都可修改
LAP45:
CJNE A,#1,LAP46
MOV A,R4
JZ ERROR4
CJNE A,#13,LAP48
LAP48:JNC ERROR4
JB F0,LAP800
MOV DPTR,#TAB1
SJMP GOON10
LAP006:LJMP LAP005
LAP800:MOV DPTR,#TAB2
GOON10: DEC A
MOVC A,@A+DPTR
MOV B,R5
CJNE A,B,LAP402
LAP402: JC ERROR4
SJMP SUCCESS4
EXIT45:LJMP EXIT42
LAP46:CJNE A,#2,LAP812
MOV A,R4
JZ ERROR4
CJNE A,#8,LAP813
LAP813:JNC ERROR4
MOV A,R5
CJNE A,#24,LAP818
LAP818:JNC ERROR4
SJMP SUCCESS4
LAP812: MOV A,R4
CJNE A,#60,LAP820
LAP820:JNC ERROR4
MOV A,R5
CJNE A,#60,LAP821
LAP821:JNC ERROR4
SJMP SUCCESS4
ERROR4:MOV FLASHPLAY,#0
SJMP LAP407
;EXIT45:LJMP EXIT42 ; 接力
SUCCESS4:
MOV R0,#YEAR2 ;成功修改时间后,把改后的值放入
MOV A,DISCOUNT
ADD A,DISCOUNT
ADD A,R0
MOV R0,A
MOV A,R4
MOV @R0,A
INC R0
MOV A,R5
MOV @R0,A
MOV FLASHPLAY,#0
MOV A,DISCOUNT
CJNE A,#3,LAP405
LAP405:JC LAP406
MOV DISCOUNT,#0
MOV DISPLAY2,YEAR2
MOV DISPLAY1,YEAR1
LCALL DISPLAY
LCALL S_DISP
LJMP EXIT42
LAP406: INC DISCOUNT
LAP407: MOV R0,#YEAR2
MOV A,DISCOUNT
ADD A,DISCOUNT
ADD A,R0
MOV R0,A
MOV DISPLAY2,@R0
INC R0
MOV DISPLAY1,@R0
LCALL DISPLAY
LCALL S_DISP
LJMP EXIT42
LAP005:JNB 05H,EXIT62
MOV R0,#STORE
MOV A,FLASHPLAY
ADD A,R0
MOV R0,A
MOV @R0,#1 ;存储改变的数值
MOV R1,#DISPBUF
MOV A,FLASHPLAY
ADD A,R1
MOV R1,A
MOV DPTR,#LEDTAB
MOV A,#1
MOVC A,@A+DPTR
MOV @R1,A
LCALL S_DISP
INC FLASHPLAY
MOV A,FLASHPLAY
CJNE A,#4,LAP044
LAP044:JC EXIT62
MOV R0,#STORE
MOV A,@R0
MOV B,#10
MUL AB
MOV R4,A
INC R0
MOV A,@R0
ADD A,R4
MOV R4,A
INC R0
MOV A,@R0
MOV B,#10
MUL AB
MOV R5,A
INC R0
MOV A,@R0
ADD A,R5
MOV R5,A
CJNE R4,#24,LAP421
LAP421:JNC ERROR5
CJNE R5,#60,LAP422
LAP422:JNC ERROR5
SJMP SUCCESS5
EXIT62:SJMP EXIT42
ERROR5:MOV FLASHPLAY,#0
SJMP LAP4007
SUCCESS5:
MOV R0,#TIME1 ;成功修改时间后,把改后的值放入
MOV A,DISCOUNT
ADD A,R0
MOV R0,A
MOV A,R4
MOV @R0,A
MOV A,R0
ADD A,#32
MOV R0,A
MOV A,R5
MOV @R0,A
MOV FLASHPLAY,#0
MOV A,DISCOUNT
CJNE A,#31,LAP40005
LAP40005:JC LAP4006
MOV DISCOUNT,#0
MOV DISPLAY2,TIME1
MOV DISPLAY1,TIME01
LCALL DISPLAY
LCALL S_DISP
SJMP EXIT42
LAP4006: INC DISCOUNT
LAP4007:MOV R0,#TIME1
MOV A,DISCOUNT
ADD A,R0
MOV R0,A
MOV DISPLAY2,@R0
MOV A,R0
ADD A,#32
MOV R0,A
MOV DISPLAY1,@R0
LCALL DISPLAY
LCALL S_DISP
EXIT42:RET
END
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PROC PRO2
PRO2: JNB 04H,LAP006
JB 05H,EXIT45
MOV R0,#STORE
MOV A,FLASHPLAY
ADD A,R0
MOV R0,A
MOV @R0,#2 ;存储改变的数值
MOV R1,#DISPBUF
MOV A,FLASHPLAY
ADD A,R1
MOV R1,A
MOV DPTR,#LEDTAB
MOV A,#2
MOVC A,@A+DPTR
MOV @R1,A ;存储改变的字模
LCALL S_DISP
INC FLASHPLAY
MOV A,FLASHPLAY
CJNE A,#4,LAP44
LAP44:JC EXIT45
MOV R0,#STORE
MOV A,@R0
MOV B,#10
MUL AB
MOV R4,A
INC R0
MOV A,@R0
ADD A,R4
MOV R4,A
INC R0
MOV A,@R0
MOV B,#10
MUL AB
MOV R5,A
INC R0
MOV A,@R0
ADD A,R5
MOV R5,A
MOV A,DISCOUNT
CJNE A,#0,LAP45
NEXT27:MOV A,R5 ;对是否闰年进行判断
JNZ NEXT828
MOV A,R4
RRC A
JC NEXT806
RRC A
JC NEXT806
NEXT828:MOV A,R5
RRC A
JC NEXT806
RRC A
JC NEXT806
SETB F0
SJMP NEXT807
NEXT806:CLR F0
NEXT807:LJMP SUCCESS4 ;无论是多少都可修改
LAP45:
CJNE A,#1,LAP46
MOV A,R4
JZ ERROR4
CJNE A,#13,LAP48
LAP48:JNC ERROR4
JB F0,LAP800
MOV DPTR,#TAB1
SJMP GOON10
LAP006:LJMP LAP005
LAP800:MOV DPTR,#TAB2
GOON10: DEC A
MOVC A,@A+DPTR
MOV B,R5
CJNE A,B,LAP402
LAP402: JC ERROR4
SJMP SUCCESS4
EXIT45:LJMP EXIT42
LAP46:CJNE A,#2,LAP812
MOV A,R4
JZ ERROR4
CJNE A,#8,LAP813
LAP813:JNC ERROR4
MOV A,R5
CJNE A,#24,LAP818
LAP818:JNC ERROR4
SJMP SUCCESS4
LAP812: MOV A,R4
CJNE A,#60,LAP820
LAP820:JNC ERROR4
MOV A,R5
CJNE A,#60,LAP821
LAP821:JNC ERROR4
SJMP SUCCESS4
ERROR4:MOV FLASHPLAY,#0
SJMP LAP407
;EXIT45:LJMP EXIT42 ; 接力
SUCCESS4:
MOV R0,#YEAR2 ;成功修改时间后,把改后的值放入
MOV A,DISCOUNT
ADD A,DISCOUNT
ADD A,R0
MOV R0,A
MOV A,R4
MOV @R0,A
INC R0
MOV A,R5
MOV @R0,A
MOV FLASHPLAY,#0
MOV A,DISCOUNT
CJNE A,#3,LAP405
LAP405:JC LAP406
MOV DISCOUNT,#0
MOV DISPLAY2,YEAR2
MOV DISPLAY1,YEAR1
LCALL DISPLAY
LCALL S_DISP
LJMP EXIT42
LAP406: INC DISCOUNT
LAP407: MOV R0,#YEAR2
MOV A,DISCOUNT
ADD A,DISCOUNT
ADD A,R0
MOV R0,A
MOV DISPLAY2,@R0
INC R0
MOV DISPLAY1,@R0
LCALL DISPLAY
LCALL S_DISP
LJMP EXIT42
LAP005:JNB 05H,EXIT62
MOV R0,#STORE
MOV A,FLASHPLAY
ADD A,R0
MOV R0,A
MOV @R0,#2 ;存储改变的数值
MOV R1,#DISPBUF
MOV A,FLASHPLAY
ADD A,R1
MOV R1,A
MOV DPTR,#LEDTAB
MOV A,#2
MOVC A,@A+DPTR
MOV @R1,A
LCALL S_DISP
INC FLASHPLAY
MOV A,FLASHPLAY
CJNE A,#4,LAP044
LAP044:JC EXIT62
MOV R0,#STORE
MOV A,@R0
MOV B,#10
MUL AB
MOV R4,A
INC R0
MOV A,@R0
ADD A,R4
MOV R4,A
INC R0
MOV A,@R0
MOV B,#10
MUL AB
MOV R5,A
INC R0
MOV A,@R0
ADD A,R5
MOV R5,A
CJNE R4,#24,LAP421
LAP421:JNC ERROR5
CJNE R5,#60,LAP422
LAP422:JNC ERROR5
SJMP SUCCESS5
EXIT62:SJMP EXIT42
ERROR5:MOV FLASHPLAY,#0
SJMP LAP4007
SUCCESS5:
MOV R0,#TIME1 ;成功修改时间后,把改后的值放入
MOV A,DISCOUNT
ADD A,R0
MOV R0,A
MOV A,R4
MOV @R0,A
MOV A,R0
ADD A,#32
MOV R0,A
MOV A,R5
MOV @R0,A
MOV FLASHPLAY,#0
MOV A,DISCOUNT
CJNE A,#31,LAP40005
LAP40005:JC LAP4006
MOV DISCOUNT,#0
MOV DISPLAY2,TIME1
MOV DISPLAY1,TIME01
LCALL DISPLAY
LCALL S_DISP
SJMP EXIT42
LAP4006: INC DISCOUNT
LAP4007:MOV R0,#TIME1
MOV A,DISCOUNT
ADD A,R0
MOV R0,A
MOV DISPLAY2,@R0
MOV A,R0
ADD A,#32
MOV R0,A
MOV DISPLAY1,@R0
LCALL DISPLAY
LCALL S_DISP
EXIT42:RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -