📄 dzjsz.asm
字号:
ORG 0000H
AJMP MAIN
ORG 000BH
LJMP T0M
ORG 001BH
LJMP T1M
MAIN: MOV SP,#0CFH
MOV R7,#10
MAIN1: LCALL DELAY
DJNZ R7,MAIN1
LCALL INIT
LCALL LCDRES
LCALL XSHB
ACALL SDCSH
SETB ET0
SETB TR0
SETB EA
MA: JNB 03H,$
LCALL KEYP
CLR 03H
AJMP MA
INIT: MOV R0,#10H
MOV R2,#0C0H
CLR A
INIT1: MOV @R0,A
INC R0
DJNZ R2,INIT1
MOV TMOD,#21H
ANL TCON,#0FH
MOV TL1,#8DH
MOV TH1,#8DH
MOV TL0,#00H
MOV TH0,#52H
MOV 33H,#07H
RET
SDCSH: MOV 4AH,#05H
MOV 4BH,#07H
MOV 4CH,#14H
MOV 4DH,#64H
MOV 4EH,#00H
MOV 4FH,#20H
MOV R2,#06H
MOV R0,#4AH
LCALL T9852
LCALL DELAY
MOV R2,#06H
MOV R0,#4AH
LCALL T9852
LCALL DELAY
MOV 4DH,#04H
MOV R2,#06H
MOV R0,#4AH
LCALL T9852
LCALL DELAY
MOV 40H,#03H
MOV 41H,#69H
MOV 42H,#0D0H
MOV 43H,#36H
MOV 44H,#9dH
MOV 45H,#03H
MOV 3FH,#02H
MOV 3EH,#07H
MOV R2,#08H
MOV R0,#3EH
LCALL T9852
LCALL DELAY
MOV 46H,#03H
MOV 47H,#08H
MOV 48H,#0FH
MOV 49H,#0F0H
MOV R2,#04H
MOV R0,#46H
LCALL T9852
LCALL DELAY
RET
T0M: MOV TL0,#00H
MOV TH0,#52H
PUSH ACC
PUSH PSW
PUSH DPH
PUSH DPL
JB 03H,T5E
MOV DPTR,#8010H
MOVX A,@DPTR
MOV 19H,A
ANL A,#0E0H
JNZ T51
MOV 34H,19H
MOV 29H,#3
T5E: POP DPL
POP DPH
POP PSW
POP ACC
RETI
T51: MOV A,29H
JZ T5E
DJNZ 29H,T5E
SETB 03H
AJMP T5E
T1M: PUSH ACC
PUSH PSW
PUSH DPH
PUSH DPL
SETB RS0
JB 03H,T1E
JB 08H,T1AM
JB 09H,T1FM
JB 0AH,T1ASK
JB 0CH,T1CRP
T1E: POP DPL
POP DPH
POP PSW
POP ACC
RETI
T1CRP: AJMP T2CRP
T1ASK: INC 38H
ANL 38H,#01H
MOV A,38H
JZ T1ASK1
MOV 46H,#03H
MOV 47H,#08H
MOV 48H,#0FH
MOV 49H,#0F0H
MOV R2,#04H
MOV R0,#46H
LCALL T9852
AJMP T1E
T1ASK1: MOV 46H,#03H
MOV 47H,#08H
MOV 48H,#00H
MOV 49H,#00H
MOV R2,#04H
MOV R0,#46H
LCALL T9852
AJMP T1E
T1AM: MOV DPTR,#TABAM
MOV A,36H
MOV B,#20H
MUL AB
ADD A,26H
ADD A,26H
ADD A,DPL
MOV DPL,A
MOV A,DPH
ADDC A,B
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV 48H,A
CLR A
INC DPTR
MOVC A,@A+DPTR
MOV 49H,A
MOV R2,#04H
MOV R0,#46H
LCALL T9852
INC 26H
ANL 26H,#0FH
AJMP T1E
T1FM: MOV DPTR,#TABFM
MOV A,27H
MOV B,#6
MUL AB
MOV R1,A
MOV A,37H
MOV B,#48
MUL AB
ADD A,R1
MOV R1,A
MOV A,B
ADDC A,#0
MOV R2,A
MOV A,DPL
ADD A,R1
MOV DPL,A
MOV A,DPH
ADDC A,R2
MOV DPH,A
CLR A
MOVC A,@A+DPTR
ADD A,45H
MOV 65H,A
CLR A
INC DPTR
MOVC A,@A+DPTR
ADDC A,44H
MOV 64H,A
CLR A
INC DPTR
MOVC A,@A+DPTR
ADDC A,43H
MOV 63H,A
CLR A
INC DPTR
MOVC A,@A+DPTR
ADDC A,42H
MOV 62H,A
CLR A
INC DPTR
MOVC A,@A+DPTR
ADDC A,41H
MOV 61H,A
CLR A
INC DPTR
MOVC A,@A+DPTR
ADDC A,40H
MOV 60H,A
MOV 5EH,#07H
MOV 5FH,#02H
MOV R2,#08H
MOV R0,#5EH
LCALL T9852
INC 27H
ANL 27H,#07H
T1FME: AJMP T1E
T2CRP: DJNZ 3AH,T1FME
DJNZ 28H,T1FME
MOV 28H,#4
MOV A,45H
ADDC A,65H
MOV 45H,A
MOV A,44H
ADDC A,64H
MOV 44H,A
MOV A,43H
ADDC A,63H
MOV 43H,A
MOV A,42H
ADDC A,62H
MOV 42H,A
MOV A,41H
ADDC A,61H
MOV 41H,A
MOV A,40H
ADDC A,60H
MOV 40H,A
CLR C
SUBB A,#29H
JC T2CRP1
MOV 40H,#00H
MOV 41H,#00H
MOV 42H,#16H
MOV 43H,#5EH
MOV 44H,#9FH
MOV 45H,#80H
T2CRP2: MOV 3EH,#07H
MOV 3FH,#02H
MOV R0,#3EH
MOV R2,#8
LCALL T9852
AJMP T1E
T2CRP1: MOV A,40H
JNZ T2CRP2
MOV A,41H
JNZ T2CRP2
CLR C
MOV A,42H
SUBB A,#16H
JNC T2CRP2
MOV 40H,#28H
MOV 41H,#0F5H
MOV 42H,#0C2H
MOV 43H,#8FH
MOV 44H,#5CH
MOV 45H,#28H
AJMP T2CRP2
ORG 0800H
HEXB: MOV R0,56H
MOV R1,54H
ACALL BCDH
MOV 12H,A
MOV R0,51H
MOV R1,50H
ACALL BCDH
MOV 10H,A
MOV R0,53H
MOV R1,52H
ACALL BCDH
MOV B,#100
MUL AB
ADD A,12H
MOV 12H,A
MOV A,B
ADDC A,#00H
MOV 11H,A
MOV A,10H
MOV B,#10H
MUL AB
MOV R2,A
MOV R1,B
MOV A,10H
MOV B,#27H
MUL AB
ADD A,R1
MOV R1,A
MOV A,B
ADDC A,#0
MOV R0,A
MOV A,R2
ADD A,12H
MOV 12H,A
MOV A,R1
ADDC A,11H
MOV 11H,A
MOV A,R0
ADDC A,#00H
MOV 10H,A
RET
BCDH: MOV A,R0
ANL A,#0FH
MOV R2,A
MOV A,R1
ANL A,#0FH
MOV B,#10
MUL AB
ADD A,R2
RET
PDIV: MOV B,#48 ;(10H11H12H13H14H15H16H17H/#493e)=(40H41H42H43H44H45H)
MOV 13H,#00H
MOV 14H,#00H
MOV 15H,#00H
MOV 16H,#00H
MOV 17H,#00H
MOV 18H,#00H
PDV2: CLR C
MOV A,18H
RLC A
MOV 18H,A
MOV A,17H
RLC A
MOV 17H,A
MOV A,16H
RLC A
MOV 16H,A
MOV A,15H
RLC A
MOV 15H,A
MOV A,14H
RLC A
MOV 14H,A
MOV A,13H
RLC A
MOV 13H,A
MOV A,12H
RLC A
MOV 12H,A
MOV A,11H
RLC A
MOV 11H,A
MOV A,10H
RLC A
MOV 10H,A
MOV 07H,C
CLR C
MOV A,12H
SUBB A,#0B0H
MOV 43H,A
MOV A,11H
SUBB A,#71H
MOV 44H,A
MOV A,10H
SUBB A,#0BH
ANL C,/07H
JC PDV3
MOV 10H,A
MOV 11H,44H
MOV 12H,43H
INC 18H
PDV3: DJNZ B,PDV2
MOV 40H,13H
MOV 41H,14H
MOV 42H,15H
MOV 43H,16H
MOV 44H,17H
MOV 45H,18H
RET
LCDRES: ACALL DELAY
MOV A,#38H
ACALL LCDWN
ACALL DELAY
MOV A,#38H
ACALL LCDWN
ACALL DELAY
MOV A,#38H
ACALL LCDWN
MOV A,#38H
ACALL LCDCW
MOV A,#08H
ACALL LCDCW
MOV A,#01H
ACALL LCDCW
MOV A,#06H
ACALL LCDCW
MOV A,#0CH
ACALL LCDCW
RET
LCD1: MOV R0,#80H
MOV R1,#0
MOV R2,#0
MOV R3,#16
AJMP LCD
LCD2: MOV R0,#90H
MOV R1,#1
MOV R2,#0
MOV R3,#16
LCD: MOV A,R2
ANL A,#0FH
MOV R2,A
MOV A,R3
ANL A,#1FH
MOV R3,A
MOV A,R1
ANL A,#01H
JZ LCDA
MOV A,#40H
LCDA: SETB ACC.7
ORL A,R2
ACALL LCDCW
LCDB: MOV A,@R0
ACALL LCDWD
INC R0
DJNZ R3,LCDB
RET
WAIT: PUSH ACC
MOV DPTR,#9001H
WAIT1: MOVX A,@DPTR
JB ACC.7,WAIT1
POP ACC
RET
LCDCW: ACALL WAIT
LCDWN: MOV DPTR,#9000H
MOVX @DPTR,A
RET
LCDWD: ACALL WAIT
MOV DPTR,#9002H
MOVX @DPTR,A
RET
DELAY: MOV R1,#125
DELAY1: MOV R2,#100
DJNZ R2,$
DJNZ R1,DELAY1
RET
DELAYA: MOV R1,#125
DJNZ R1,$
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -