📄 1602.asm
字号:
ORG 0000H
NOP
NOP
NOP
NOP
LJMP START
ORG 0013H
NOP
NOP
NOP
NOP
LJMP INT2X
ORG 0030H
START:
LCALL DELAY
LCALL INTTO ;中断设置
LCALL INIT ;显示初始化
LCALL RESETT ;显示设置
LCALL WELCOME ;初显
LCALL DELAY2
MOV 3BH,#01H
lcall welcome
ST: lcall welcome
LCALL SELECT ;ON OR OFF
LCALL WELCOME ;WELCOME
GG:LCALL SWITCH ;DISPLAY SWITCH
LCALL ADDTO ;计数
LJMP ST
INTTO: NOP
MOV IE,#85H
SETB PX1
CLR PX0
SETB IT0
SETB IT1
RET
INIT:
CLR P1.2
CLR P1.3
SETB P1.4
CLR P1.5
MOV DPTR,#0feFFH
MOV A,#38H
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
CPL P1.4
MOV A,#38H
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
CPL P1.4
MOV A,#38H
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
CPL P1.4
MOV A,#38H
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
CPL P1.4
MOV A,#08H
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
CPL P1.4
MOV A,#01H
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
CPL P1.4
MOV A,#06H
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
RET
RESETT: CPL P1.4
MOV A,#01H ;clear
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
CPL P1.4
MOV A,#38H ;FUNCTION SET
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
CPL P1.4
MOV A,#0CH ; display set
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
CPL P1.4 ;input set
MOV A,#06H
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
MOV R3,#00H
NOP
NOP
NOP
NOP
CLR P1.5
CLR P1.5
MOV R2,#09H
MOV 3BH,#01H
MOV 3CH,#88H
CLR P1.5
RET
SELECT: lcall welcome
MOV A,R3 ;R3显示开关标志位 00H=关 01H=开
CJNE A,#00H,GOTO
SETB P1.5
CLR P1.2
CLR P1.3
SETB P1.4
MOV DPTR,#0feFFH
MOV A,#02H
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
;CPL P1.4
;MOV A,#01H ;无触发显示/不显示
;MOVX @DPTR,A
CPL P1.4
LCALL DELAY
lcall welcome
LJMP SELECT
GOTO: NOP
RET
WELCOME:
MOV A,3BH
CJNE A,#01H,FOR1
CLR P1.2
CLR P1.3
SETB P1.4
LCALL WELCOME1
LCALL WELCOME2
LCALL DELAY1
MOV 3BH,#00H
FOR1: NOP
RET
WELCOME2:
CLR P1.2
SETB P1.4
MOV A,#0C0H ;ADDRESS
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
SETB P1.2
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;B
LCALL JUMP
MOV A,#42H ;E
LCALL JUMP
MOV A,#45H ;S
LCALL JUMP
MOV A,#53H ;T
LCALL JUMP
MOV A,#54H ;-
LCALL JUMP
MOV A,#45H ;-
LCALL JUMP
MOV A,#44H ;E
LCALL JUMP
MOV A,#46H ; D
LCALL JUMP
MOV A,#41H ; F
LCALL JUMP
MOV A,#20H ; A
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
RET
WELCOME1:
SETB P1.4
MOV A,#10000000B ;DDRAM ADDRESS
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
SETB P1.2
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#45H ;E
LCALL JUMP
MOV A,#44H ;D
LCALL JUMP
MOV A,#46H ;F
LCALL JUMP
MOV A,#41H ;A
LCALL JUMP
MOV A,#20H ;-
LCALL JUMP
MOV A,#20H ;-
LCALL JUMP
MOV A,#32H ;1
LCALL JUMP
MOV A,#31H ;8
LCALL JUMP
MOV A,#64H ; d
LCALL JUMP
MOV A,#42H ; B
LCALL JUMP
MOV A,#6DH ; M
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
RET
POWER1:
CLR P1.2
SETB P1.4
MOV DPTR,#0feFFH
MOV A,#10000000B ;DDRAM ADDRESS
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
SETB P1.2
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#45H ;E
LCALL JUMP
MOV A,#44H ;D
LCALL JUMP
MOV A,#46H ;F
LCALL JUMP
MOV A,#41H ;A
LCALL JUMP
MOV A,#20H ;-
LCALL JUMP
MOV A,#20H ;-
LCALL JUMP
MOV A,#32H ;1
LCALL JUMP
MOV A,#31H ;8
LCALL JUMP
MOV A,#64H ; D
LCALL JUMP
MOV A,#42H ; B
LCALL JUMP
MOV A,#6DH ; M
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
RET
OMD2:
CLR P1.2
SETB P1.4
MOV A,#0C0H ;ADDRESS
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
SETB P1.2
MOV A,#20H
LCALL JUMP
MOV A,#20H
LCALL JUMP
MOV A,#53H ;S
LCALL JUMP
MOV A,#2FH ;/
LCALL JUMP
MOV A,#4EH ;N
LCALL JUMP
MOV A,#3AH ;:
LCALL JUMP
MOV A,#30H ;0
LCALL JUMP
MOV A,#38H ;2
LCALL JUMP
MOV A,#30H ;0
LCALL JUMP
MOV A,#35H ;3
LCALL JUMP
MOV A,#32H ;0
LCALL JUMP
MOV A,#32H ;5
LCALL JUMP
MOV A,#30H ;0
LCALL JUMP
MOV A,#38H ;1
LCALL JUMP
MOV A,#20H
LCALL JUMP
MOV A,#20H
LCALL JUMP
RET
JUMP:
SETB P1.4
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
RET
SWITCH:
X1: CJNE R2,#08H,X2 ;R2=8,POWER输出
MOV DPTR,#7FF8H
MOV R0,#40H ;
MOV R5,#05H
LCALL ADC0809
MOV 45H,#00H
MOV 46H,#00H
MOV R5,#04H
MOV A,40H
MOV R0,#41H
JX1: CLR C
ADD A,@R0
MOV 45H,A
INC R0
JNC JE1
INC 46H
JE1: DJNZ R5,JX1
LCALL DONE1
LCALL POWER1
LCALL POWER2
LJMP OUT1
X2:
CJNE R2,#07H,X3
MOV DPTR,#7FFCH
MOV R0,#48H
MOV R5,#05H
LCALL ADC0809
MOV 4DH,#00H
MOV 4EH,#00H
MOV R5,#04H
MOV A,48H
MOV R0,#49H
JX2: CLR C
ADD A,@R0
MOV 4DH,A
INC R0
JNC JE2
INC 4EH
JE2: DJNZ R5,JX2
LCALL DONE1
LCALL POWER0
LCALL DONE2
LCALL V242
LJMP OUT1
X3: CJNE R2,#06H,X4
MOV DPTR,#7FFAH
MOV R0,#50H
MOV R5,#05H
LCALL ADC0809
MOV 55H,#00H
MOV 56H,#00H
MOV R5,#04H
MOV A,50H
MOV R0,#51H
JX3: CLR C
ADD A,@R0
MOV 55H,A
INC R0
JNC JE3
INC 56H
JE3: DJNZ R5,JX3
LCALL DONE2
LCALL V241
LCALL DONE3
LCALL V52
LJMP OUT1
X4: CJNE R2,#05H,X5
MOV DPTR,#7FFEH
MOV R0,#58H ;
MOV R5,#05H
LCALL ADC0809
MOV 5DH,#00H
MOV 5EH,#00H
MOV R5,#04H
MOV A,58H
MOV R0,#59H
JX4: CLR C
ADD A,@R0
MOV 5DH,A
INC R0
JNC JE4
INC 5EH
JE4: DJNZ R5,JX4
LCALL DONE3
LCALL V51
LCALL DONE4
LCALL V5X2
LJMP OUT1
X5: CJNE R2,#04H,X6
MOV DPTR,#7FFDH
MOV R0,#60H ;
MOV R5,#05H
LCALL ADC0809
MOV 65H,#00H
MOV 66H,#00H
MOV R5,#04H
MOV A,60H
MOV R0,#61H
JX5: CLR C
ADD A,@R0
MOV 65H,A
INC R0
JNC JE5
INC 66H
JE5: DJNZ R5,JX5
LCALL DONE4
LCALL V5X1
LCALL DONE5
LCALL TEMP2
LJMP OUT1
X6: CJNE R2,#03H,X7
MOV DPTR,#7FF9H
MOV R0,#68H ;
MOV R5,#05H
LCALL ADC0809
MOV 6DH,#00H
MOV 6EH,#00H
MOV R5,#04H
MOV A,68H
MOV R0,#69H
JX6: CLR C
ADD A,@R0
MOV 6DH,A
INC R0
JNC JE6
INC 6EH
JE6: DJNZ R5,JX6
LCALL DONE5
LCALL TEMP1
LCALL DONE6
LCALL BIAS2
LJMP OUT1
X7: CJNE R2,#02H,X8
MOV DPTR,#7FFBH
MOV R0,#70H ;
MOV R5,#05H
LCALL ADC0809
MOV 75H,#00H
MOV 76H,#00H
MOV R5,#04H
MOV A,70H
MOV R0,#71H
JX7: CLR C
ADD A,@R0
MOV 75H,A
INC R0
JNC JE7
INC 76H
JE7: DJNZ R5,JX7
LCALL DONE6
LCALL BIAS1
LCALL DONE7
LCALL TEC2
LJMP OUT1
X8:
MOV DPTR,#7FFFH
MOV R0,#78H ;
MOV R5,#05H
LCALL ADC0809
MOV 7DH,#00H
MOV 7EH,#00H
MOV R5,#04H
MOV A,78H
MOV R0,#79H
JX8: CLR C
ADD A,@R0
MOV 7DH,A
INC R0
JNC JE8
INC 7EH
JE8: DJNZ R5,JX8
LCALL DONE7
LCALL TEC1
LCALL DONE8
LCALL OMD2
OUT1:NOP
RET
ADC0809:
CLR P1.4
MOVX @DPTR,A
LCALL TIME
MOVX A,@DPTR
MOV @R0,A
INC R0
DJNZ R5,ADC0809
RET
POWER0:
CLR P1.2
SETB P1.4
MOV DPTR,#0feFFH
MOV A,#10000000B ;DDRAM ADDRESS
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
SETB P1.2
MOV A,#50H ;P
LCALL JUMP
MOV A,#6FH ;O
LCALL JUMP
MOV A,#77H ;W
LCALL JUMP
MOV A,#20H ;E
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#52H ;R
LCALL JUMP
MOV A,#65H ;E
LCALL JUMP
MOV A,#61H ;A
LCALL JUMP
MOV A,#64H ;D
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV R0,#3DH
MOV A,#3FH ;47H
XCHD A,@R0
LCALL JUMP
INC R0
MOV A,#3FH
XCHD A,@R0
LCALL JUMP
MOV A,#2EH ;.
LCALL JUMP
INC R0
CLR C
MOV A,#3FH ;
XCHD A,@R0
LCALL JUMP
MOV A,#64H ;D
LCALL JUMP
MOV A,#42H ;B
LCALL JUMP
RET
POWER2:
CLR P1.2
SETB P1.4
MOV A,#0C0H ;ADDRESS
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
SETB P1.2
MOV A,#50H ;P
LCALL JUMP
MOV A,#6FH ;O
LCALL JUMP
MOV A,#77H ;W
LCALL JUMP
MOV A,#20H ;E
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#52H ;R
LCALL JUMP
MOV A,#65H ;E
LCALL JUMP
MOV A,#61H ;A
LCALL JUMP
MOV A,#64H ;D
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV R0,#3DH
MOV A,#3FH ;47H
XCHD A,@R0
LCALL JUMP
INC R0
MOV A,#3FH
XCHD A,@R0
LCALL JUMP
MOV A,#2EH ;.
LCALL JUMP
INC R0
CLR C
MOV A,#3FH ;
XCHD A,@R0
LCALL JUMP
MOV A,#64H ;D
LCALL JUMP
MOV A,#42H ;B
LCALL JUMP
RET
V241:
CLR P1.2
SETB P1.4
MOV DPTR,#0feFFH
MOV A,#10000000B ;DDRAM ADDRESS
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
SETB P1.2
MOV A,#31H ;1
LCALL JUMP
MOV A,#32H ;2
LCALL JUMP
MOV A,#56H ;V
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV A,#52H ;R
LCALL JUMP
MOV A,#65H ;E
LCALL JUMP
MOV A,#61H ;A
LCALL JUMP
MOV A,#64H ;D
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
MOV R0,#3DH
MOV A,#3FH ;4FH
XCHD A,@R0
LCALL JUMP
INC R0
MOV A,#3FH
XCHD A,@R0
LCALL JUMP
MOV A,#2EH ;.
LCALL JUMP
INC R0
MOV A,#3FH ;
XCHD A,@R0
LCALL JUMP
MOV A,#56H ;V
LCALL JUMP
MOV A,#20H ;
LCALL JUMP
RET
V242:
CLR P1.2
SETB P1.4
MOV A,#0C0H ;ADDRESS
MOVX @DPTR,A
CPL P1.4
LCALL DELAY
SETB P1.2
MOV A,#31H ;1
LCALL JUMP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -