⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m03.asm

📁 C8051单片机汇编源码,LCD,GPS,北斗时间源切换等核心程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	XRL	A,#90H			;左
	JZ	KEY_ZUOJ
	MOV	A,KEY_VALUE
	XRL	A,#93H			;右
	JZ	KEY_YOUJ
	MOV	A,KEY_VALUE
	XRL	A,#91H			;上
	JZ	KEY_SHANGJ
	MOV	A,KEY_VALUE
	XRL	A,#92H			;下
	JZ	KEY_XIAJ
	MOV	A,KEY_VALUE
	XRL	A,#87H
	JZ	KEY_XIANSJ		;显示
	MOV	A,KEY_VALUE
	XRL	A,#83H
	JZ	KEY_CAIDJ		;菜单
	MOV	A,KEY_VALUE
	XRL	A,#8BH			;确认
	JZ	KEY_QUERJ
	MOV	A,KEY_VALUE
	XRL	A,#8FH			;设置时间
	JZ	KEY_SHEZIJ
DO_KEY1:
	RET
;--------
KEY_ZHI1:
	MOV	VALUE,#01H
	SJMP	KEY_NUM
KEY_ZHI2:
	MOV	VALUE,#02H
	SJMP	KEY_NUM
KEY_ZHI3:
	MOV	VALUE,#03H
	SJMP	KEY_NUM
KEY_ZHI4:
	MOV	VALUE,#04H
	SJMP	KEY_NUM
KEY_ZHI5:
	MOV	VALUE,#05H
	SJMP	KEY_NUM
KEY_ZHI6:
	MOV	VALUE,#06H
	SJMP	KEY_NUM
KEY_ZHI7:
	MOV	VALUE,#07H
	SJMP	KEY_NUM
KEY_ZHI8:
	MOV	VALUE,#08H
	SJMP	KEY_NUM
KEY_ZHI9:
	MOV	VALUE,#09H
	SJMP	KEY_NUM
KEY_ZHI0:
	MOV	VALUE,#00H
KEY_NUM:
	CLR	C
	MOV	A,STEP_DISP
	SUBB	A,#05H
	JC	KEY_NUM1
	SETB	1AH
	LCALL	IN_NUM
	LCALL	DISP_VALUE
	MOV	A,PAME_PT
	XRL	A,ULIMIT
	JZ	KEY_NUM1
	INC	PAME_PT
	LCALL	DISP_CURSOR
KEY_NUM1:
	RET
;--------------------
KEY_ZHENG:
	MOV	A,STEP_DISP
	CJNE	A,#04H,KEY_ZHENG1
	MOV	A,PAME_PT
	JNZ	KEY_ZHENG1
	SETB	1AH
	CLR	1BH
	MOV	ADDS_PL,#09H
	MOV	ADDS_PH,#01H
	MOV	A,#2CH
	LCALL	DISP_BYTE
	INC	PAME_PT
	LCALL	DISP_CURSOR
	MOV	STEP_DISP,#05H
KEY_ZHENG1:
	RET
KEY_FU:
	MOV	A,STEP_DISP
	CJNE	A,#04H,KEY_FU1
	MOV	A,PAME_PT
	JNZ	KEY_FU1
	SETB	1AH
	SETB	1BH
	MOV	ADDS_PL,#09H
	MOV	ADDS_PH,#01H
	MOV	A,#16H
	LCALL	DISP_BYTE
	INC	PAME_PT
	LCALL	DISP_CURSOR
	MOV	STEP_DISP,#05H
KEY_FU1:
	RET
;--------------------
KEY_ZUO:
	MOV	A,STEP_DISP
	CLR	C
	SUBB	A,#04H
	JC	KEY_ZUO1
	MOV	A,PAME_PT
	JZ	KEY_ZUO1
	DEC	PAME_PT
	LCALL	DISP_CURSOR
	MOV	A,PAME_PT		;判M03的4、5转换
	JNZ	KEY_ZUO1
	MOV	A,STEP_DISP
	XRL	A,#05H
	JNZ	KEY_ZUO1
	MOV	STEP_DISP,#04H
KEY_ZUO1:
	RET
KEY_YOU:
	MOV	A,STEP_DISP
	CLR	C
	SUBB	A,#04H
	JC	KEY_YOU1
	MOV	A,PAME_PT
	XRL	A,ULIMIT
	JZ	KEY_YOU1
	INC	PAME_PT
	LCALL	DISP_CURSOR
	MOV	A,STEP_DISP		;判M03的4、5转换
	XRL	A,#04H
	JNZ	KEY_YOU1
	MOV	STEP_DISP,#05H
KEY_YOU1:
	RET
;---------------------
KEY_SHANG:
	MOV	A,STEP_DISP
	CJNE	A,#01H,KEY_SHANG1
	MOV	A,GIF_PT
	JZ	KEY_SHANG1
	LCALL	CLR_BLINK
	DEC	GIF_PT
	LCALL	SET_BLINK
	LCALL	SET_HOME
	RET
KEY_SHANG1:
	CJNE	A,#06H,KEY_SHANG2
	MOV	PAME_PT,#00H
	LCALL	DISP_CURSOR
KEY_SHANG2:
	RET
KEY_XIA:
	MOV	A,STEP_DISP
	CJNE	A,#01H,KEY_XIA2
	LCALL	CLR_BLINK
	INC	GIF_PT
	LCALL	GET_MID
	JNZ	KEY_XIA1
	DEC	GIF_PT
KEY_XIA1:
	LCALL	SET_BLINK
	LCALL	SET_HOME
	RET
KEY_XIA2:
	CJNE	A,#06H,KEY_XIA3
	MOV	PAME_PT,#10
	LCALL	DISP_CURSOR
KEY_XIA3:
	RET
;-------------------
KEY_XIANS:
	MOV	A,STEP_DISP
	JZ	KEY_XIANS1
	MOV	STEP_DISP,#00H
	MOV	DIS_COM,#88H
	LCALL	SENDCON		;External CG,OR mode
	MOV	DIS_COM,#9CH	;TEXT ON GRAPHICS ON CURSOR OFF
	LCALL	SENDCON
	LCALL	CLEAR_TXT
	LCALL	CLEAR_GIF
	LCALL	DISP_GA
KEY_XIANS1:
	RET
;---------------------
KEY_SHEZHI:
	MOV	STEP_DISP,#09H
	MOV	DIS_COM,#88H
	LCALL	SENDCON		;External CG,OR mode
	MOV	DIS_COM,#0A0H
	LCALL	SENDCON		;1-Line cursor
	MOV	DIS_COM,#96H	;TEXT ON GRAPHICS OFF CURSOR ON BLINK OFF
	LCALL	SENDCON
	LCALL	CLEAR_TXT
	MOV	ADDS_PL,#0C0H	;ADDRESS POINTER
	MOV	ADDS_PH,#00H
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_SET
	LCALL	DISP_STR
	MOV	ADDS_PL,#0C9H	;ADDRESS POINTER
	MOV	ADDS_PH,#00H
	CLR	19H
	MOV	COUNT1,#06H
	CLR	RS0
	CLR	RS1
	MOV	R0,#YEARL
	MOV	R1,#0D0H
KEY_SHEZH1:
	MOV	A,@R0
	LCALL	DISP_BYTEB
	MOV	@R1,BCD1
	INC	R0
	INC	R1
	INC	ADDS_PL
	DJNZ	COUNT1,KEY_SHEZH1
	MOV	ULIMIT,#11
	MOV	PAME_PT,#00H
	LCALL	DISP_CURSOR
	CLR	1AH
	RET
;---------------------
KEY_CAID:
	MOV	A,STEP_DISP
	XRL	A,#01H
	JZ	KEY_CAID2
	MOV	STEP_DISP,#01H
	MOV	DIS_COM,#8CH
	LCALL	SENDCON		;External CG,Attribute mode
	MOV	DIS_COM,#94H	;TEXT ON GRAPHICS OFF CURSOR OFF
	LCALL	SENDCON
	LCALL	CLEAR_TXT
	LCALL	CLEAR_GIF
	LCALL	DISP_GB
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_M03
	LCALL	DISP_STR
;	MOV	DPS,#00H
	MOV	DPTR,#03D0H
	MOV	A,#00H
	MOV	COUNT,#30H
KEY_CAID1:
	MOVX	@DPTR,A
	INC	DPTR
	DJNZ	COUNT,KEY_CAID1
	MOV	HOME_ADDL,#00H
	MOV	HOME_ADDH,#00H
	MOV	GIF_PT,#00H
	LCALL	SET_BLINK
KEY_CAID2:
	RET
;------------------------
KEY_QUER:
	MOV	A,STEP_DISP
	CJNE	A,#01H,KEY_QUER1
	MOV	A,GIF_PT
	JZ	TIAO_M03
	LCALL	GET_MID
	INC	DPTR
	MOVX	A,@DPTR
	XRL	A,#06H
	JZ	TIAO_G04J
	MOVX	A,@DPTR
	XRL	A,#07H
	JZ	TIAO_G07J
	MOVX	A,@DPTR
	XRL	A,#0AH
	JZ	TIAO_L02J
	MOVX	A,@DPTR
	XRL	A,#0BH
	JZ	TIAO_M05J
	RET
KEY_QUER1:
	CJNE	A,#04H,KEY_QUER2
	LJMP	REVISE_M03
KEY_QUER2:
	CJNE	A,#05H,KEY_QUER3
	LJMP	REVISE_M03
KEY_QUER3:
	CJNE	A,#06H,KEY_QUER4
	LJMP	REVISE_G04
KEY_QUER4:
	CJNE	A,#07H,KEY_QUER5
	LJMP	REVISE_G07
KEY_QUER5:
	CJNE	A,#08H,KEY_QUER6
	LJMP	REVISE_L02
KEY_QUER6:
	CJNE	A,#09H,KEY_QUER7
	LJMP	REVISE_SET
KEY_QUER7:
	RET
TIAO_G04J:
	LJMP	TIAO_G04
TIAO_G07J:
	LJMP	TIAO_G07
TIAO_L02J:
	LJMP	TIAO_L02
TIAO_M05J:
	LJMP	TIAO_M05

TIAO_M03:
	MOV	STEP_DISP,#04H
	MOV	DIS_COM,#88H
	LCALL	SENDCON		;External CG,OR mode
	MOV	DIS_COM,#0A0H
	LCALL	SENDCON		;1-Line cursor
	MOV	DIS_COM,#96H	;TEXT ON GRAPHICS OFF CURSOR ON BLINK OFF
	LCALL	SENDCON
	LCALL	CLEAR_TXT
	LCALL	DISP_GB
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_M03
	LCALL	DISP_STR
	MOV	ADDS_PL,#00H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
;	MOV	DPS,#00H
	MOV	DPTR,#DIDT_ZONE
	LCALL	DISP_STR
	MOV	A,ZONE
	JB	ACC.4,TIAO_M031
	MOV	A,#2CH
	LCALL	DISP_BYTE
	CLR	1BH
	SJMP	TIAO_M032
TIAO_M031:
	MOV	A,#16H
	LCALL	DISP_BYTE
	SETB	1BH
TIAO_M032:
	MOV	A,ZONE
	ANL	A,#0FH
	CLR	19H
	LCALL	DISP_BYTEB
	CLR	RS0
	CLR	RS1
	MOV	R0,#0D0H
	MOV	A,BCD1
	SWAP	A
	MOV	@R0,A
	INC	R0
	MOV	A,BCD1
	SWAP	A
	MOV	@R0,A
	MOV	ULIMIT,#02H
	MOV	PAME_PT,#00H
	LCALL	DISP_CURSOR
	CLR	1AH
	RET
;---
TIAO_G04:
	MOV	STEP_DISP,#06H
	MOV	DIS_COM,#88H
	LCALL	SENDCON		;External CG,OR mode
	MOV	DIS_COM,#0A0H
	LCALL	SENDCON		;1-Line cursor
	MOV	DIS_COM,#96H	;TEXT ON GRAPHICS OFF CURSOR ON BLINK OFF
	LCALL	SENDCON
	LCALL	CLEAR_TXT
	LCALL	DISP_GB
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_G04
	LCALL	DISP_STR
	MOV	A,ADDS_PL
	ANL	A,#0E0H
	ORL	A,#12H
	MOV	ADDS_PL,A
	LCALL	GET_MID
	CLR	19H
	LCALL	DISP_BYTEB
	MOV	ADDS_PL,#00H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_HIGH
	LCALL	DISP_STR
	MOV	ADDS_PL,#40H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_RENEW
	LCALL	DISP_STR
	MOV	ADDS_PL,#80H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_FIRST
	LCALL	DISP_STR
	LCALL	GET_MID
	RL	A
	RL	A
	ANL	A,#7CH
	MOV	DPL,A
	MOV	DPH,#00H
	MOV	DPS,#00H
	INC	DPTR
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPH1,A
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPL1,A
	ORL	DPL1,#02H
	MOV	ADDS_PL,#09H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	CLR	RS0
	CLR	RS1
	MOV	R0,#0D0H
	MOV	DPS,#01H
	LCALL	DISP_BIN
	MOV	R0,#0D0H
	MOV	ADDS_PL,#47H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	LCALL	DISP_BIN
	MOV	ADDS_PL,#87H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	MOV	COUNT1,#04H
	CLR	19H
TIAO_G041:
	MOVX	A,@DPTR
	MOV	@R0,A
	LCALL	DISP_BYTEB
	MOV	A,#3EH
	LCALL	DISP_BYTE
	INC	DPTR
	INC	R0
	DJNZ	COUNT1,TIAO_G041
	MOV	ULIMIT,#17
	MOV	PAME_PT,#00H
	LCALL	DISP_CURSOR
	CLR	1AH
	RET
;---
TIAO_G07:
	MOV	STEP_DISP,#07H
	MOV	DIS_COM,#88H
	LCALL	SENDCON		;External CG,OR mode
	MOV	DIS_COM,#0A0H
	LCALL	SENDCON		;1-Line cursor
	MOV	DIS_COM,#96H	;TEXT ON GRAPHICS OFF CURSOR ON BLINK OFF
	LCALL	SENDCON
	LCALL	CLEAR_TXT
	LCALL	DISP_GB
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_G07
	LCALL	DISP_STR
	MOV	A,ADDS_PL
	ANL	A,#0E0H
	ORL	A,#12H
	MOV	ADDS_PL,A
	LCALL	GET_MID
	CLR	19H
	LCALL	DISP_BYTEB
	MOV	ADDS_PL,#00H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_HIGH
	LCALL	DISP_STR
	MOV	ADDS_PL,#40H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_RENEW
	LCALL	DISP_STR
	LCALL	GET_MID
	RL	A
	RL	A
	ANL	A,#7CH
	MOV	DPL,A
	MOV	DPH,#00H
	MOV	DPS,#00H
	INC	DPTR
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPH1,A
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPL1,A
	ORL	DPL1,#02H
	MOV	ADDS_PL,#09H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	CLR	RS0
	CLR	RS1
	MOV	R0,#0D0H
	MOV	DPS,#01H
	LCALL	DISP_BIN
	MOV	ADDS_PL,#47H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	LCALL	DISP_BIN
	MOV	ULIMIT,#19
	MOV	PAME_PT,#00H
	LCALL	DISP_CURSOR
	CLR	1AH
	RET
;--------------
TIAO_L02:
	MOV	STEP_DISP,#08H
	MOV	DIS_COM,#88H
	LCALL	SENDCON		;External CG,OR mode
	MOV	DIS_COM,#0A0H
	LCALL	SENDCON		;1-Line cursor
	MOV	DIS_COM,#96H	;TEXT ON GRAPHICS OFF CURSOR ON BLINK OFF
	LCALL	SENDCON
	LCALL	CLEAR_TXT
	LCALL	DISP_GB
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_L02
	LCALL	DISP_STR
TIAO_L020:
	MOV	A,ADDS_PL
	ANL	A,#0E0H
	ORL	A,#12H
	MOV	ADDS_PL,A
	LCALL	GET_MID
	CLR	19H
	LCALL	DISP_BYTEB
	MOV	ADDS_PL,#00H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_IP
	LCALL	DISP_STR
	LCALL	GET_MID
	RL	A
	RL	A
	ANL	A,#7CH
	MOV	DPL,A
	MOV	DPH,#00H
	MOV	DPS,#00H
	INC	DPTR
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPH1,A
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPL1,A
	ORL	DPL1,#02H
	MOV	ADDS_PL,#03H	;ADDRESS POINTER
	MOV	ADDS_PH,#01H
	MOV	DPS,#01H
	MOV	COUNT1,#04H
	CLR	RS0
	CLR	RS1
	MOV	R0,#0D0H
	CLR	1CH
TIAO_L021:
	MOVX	A,@DPTR
	LCALL	DISP_BYTED
	JB	1CH,TIAO_L022
	MOV	A,BCD2
	SWAP	A
	ANL	A,#0F0H
	MOV	@R0,A
	MOV	A,BCD1
	SWAP	A
	XCHD	A,@R0
	ANL	A,#0F0H
	INC	R0
	MOV	@R0,A
	SETB	1CH
	SJMP	TIAO_L023
TIAO_L022:
	MOV	A,BCD2
	XCHD	A,@R0
	INC	R0
	MOV	@R0,BCD1
	INC	R0
	CLR	1CH
TIAO_L023:
	INC	ADDS_PL
	INC	DPTR
	DJNZ	COUNT1,TIAO_L021
	MOV	ULIMIT,#11
	MOV	PAME_PT,#00H
	LCALL	DISP_CURSOR
	CLR	1AH
	RET
;----------
TIAO_M05:
	MOV	STEP_DISP,#08H
	MOV	DIS_COM,#88H
	LCALL	SENDCON		;External CG,OR mode
	MOV	DIS_COM,#0A0H
	LCALL	SENDCON		;1-Line cursor
	MOV	DIS_COM,#96H	;TEXT ON GRAPHICS OFF CURSOR ON BLINK OFF
	LCALL	SENDCON
	LCALL	CLEAR_TXT
	LCALL	DISP_GB
	MOV	DPS,#00H
	MOV	DPTR,#DIDT_M05
	LCALL	DISP_STR
	LJMP	TIAO_L020
;=====================================
REVISE_M03:
	JNB	1AH,REVISE_M031
	CLR	RS0
	CLR	RS1
	MOV	R0,#0D0H
	MOV	A,@R0
	SWAP	A
	ANL	A,#0F0H
	MOV	BCD5,A
	INC	R0
	MOV	A,@R0
	SWAP	A
	ANL	A,#0FH
	ORL	BCD5,A
	MOV	COUNT,#01H
	LCALL	BCD_BIN
	MOV	A,BIN1
	CLR	C
	SUBB	A,#13
	JNC	REVISE_M031
	MOV	A,BIN1
	MOV	C,1BH
	MOV	ACC.4,C
	MOV	ZONE,A
	SETB	RS0
	SETB	RS1
	MOV	R1,#0F0H
	MOV	@R1,A
	MOV	ADDH_IIC,#00H
	MOV	ADDL_IIC,#00H
	MOV	LONG_IIC,#01H
	LCALL	IIC_WR
REVISE_M031:
	LJMP	KEY_CAID
;-------
REVISE_G04:
	JNB	1AH,REVISE_M031
	CLR	RS0
	CLR	RS1
	MOV	R0,#0D0H
	LCALL	GET_MID
	LCALL	EEPROM_ADR
	LCALL	GET_MID
	RL	A
	RL	A
	ANL	A,#7CH
	MOV	DPL,A
	MOV	DPH,#00H
	MOV	DPS,#00H
	INC	DPTR
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPH1,A
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPL1,A
	ORL	DPL1,#06H
	ORL	ADDL_IIC,#06H
	DEC	DPTR
	DEC	DPTR
	MOV	BCD5,@R0
	INC	R0
	MOV	BCD4,@R0
	INC	R0
	MOV	BCD3,@R0
	INC	R0
	MOV	BCD2,@R0
	INC	R0
	MOV	BCD1,@R0
	MOV	COUNT,#05H
	LCALL	BCD_BIN
	MOV	C4,#00H
	MOV	C3,#0FH
	MOV	C2,#42H
	MOV	C1,#3FH
	LCALL	COMP_BIN
	JNB	1DH,REVISE_G042
	MOV	DPS,#01H
	MOV	R1,#BIN1
	MOV	COUNT,#04H
REVISE_G041:
	MOV	A,@R1
	MOVX	@DPTR,A
	INC	DPTR
	INC	R1
	DJNZ	COUNT,REVISE_G041
	MOV	DPS,#00H
	MOVX	A,@DPTR
	SETB	ACC.1
	MOVX	@DPTR,A
	MOV	LONG_IIC,#04H
	SETB	RS0
	SETB	RS1
	MOV	R1,#BIN1
	LCALL	IIC_WR
REVISE_G042:
	MOV	A,DPL1
	ANL	A,#0F0H
	ORL	A,#0AH
	MOV	DPL1,A
	MOV	A,ADDL_IIC
	ANL	A,#0F0H
	ORL	A,#0AH
	MOV	ADDL_IIC,A
	CLR	RS0
	CLR	RS1
	MOV	R0,#0D5H
	MOV	COUNT,#04H
REVISE_G043:
	MOV	A,@R0
	CLR	C
	SUBB	A,#05H
	JNC	REVISE_G045
	INC	R0
	DJNZ	COUNT,REVISE_G043
	MOV	R0,#0D5H
	MOV	COUNT,#04H
	MOV	DPS,#01H
REVISE_G044:
	MOV	A,@R0
	MOVX	@DPTR,A
	INC	DPTR
	INC	R0
	DJNZ	COUNT,REVISE_G044
	MOV	DPS,#00H
	MOVX	A,@DPTR
	SETB	ACC.2
	MOVX	@DPTR,A
	MOV	LONG_IIC,#04H
	SETB	RS0
	SETB	RS1
	MOV	R1,#0D5H
	LCALL	IIC_WR
REVISE_G045:
	LJMP	KEY_CAID
;------
REVISE_G07:
	JNB	1AH,REVISE_G044
	CLR	RS0
	CLR	RS1
	MOV	R0,#0D0H
	LCALL	GET_MID
	LCALL	EEPROM_ADR
	LCALL	GET_MID
	RL	A
	RL	A
	ANL	A,#7CH
	MOV	DPL,A
	MOV	DPH,#00H
	MOV	DPS,#00H
	INC	DPTR
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPH1,A
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPL1,A
	ORL	DPL1,#02H
	ORL	ADDL_IIC,#02H
	DEC	DPTR
	DEC	DPTR
	MOV	BCD5,@R0
	INC	R0
	MOV	BCD4,@R0
	INC	R0
	MOV	BCD3,@R0
	INC	R0
	MOV	BCD2,@R0
	INC	R0
	MOV	BCD1,@R0
	INC	R0
	MOV	COUNT,#05H
	LCALL	BCD_BIN
;	LCALL	COMP_BIN
;	JNB	1DH,REVISE_G072
	MOV	DPS,#01H
	MOV	R1,#BIN1
	MOV	COUNT,#04H
REVISE_G071:
	MOV	A,@R1
	MOVX	@DPTR,A
	INC	DPTR
	INC	R1
	DJNZ	COUNT,REVISE_G071
	MOV	DPS,#00H
	MOVX	A,@DPTR
	SETB	ACC.0
	MOVX	@DPTR,A
	MOV	LONG_IIC,#04H
	SETB	RS0
	SETB	RS1
	MOV	R1,#BIN1
	LCALL	IIC_WR
REVISE_G072:
	MOV	A,DPL1
	ANL	A,#0F0H
	ORL	A,#06H
	MOV	DPL1,A
	MOV	A,ADDL_IIC
	ANL	A,#0F0H
	ORL	A,#06H
	MOV	ADDL_IIC,A
	CLR	RS0
	CLR	RS1
	MOV	R0,#0D5H
	MOV	BCD5,@R0
	INC	R0
	MOV	BCD4,@R0
	INC	R0
	MOV	BCD3,@R0
	INC	R0
	MOV	BCD2,@R0
	INC	R0
	MOV	BCD1,@R0
	MOV	COUNT,#05H
	LCALL	BCD_BIN
;	MOV	C4,#
;	MOV	C3,#
;	MOV	C2,#
;	MOV	C1,#
;	LCALL	COMP_BIN
;	JNB	1DH,REVISE_G074
	MOV	DPS,#01H
	MOV	R1,#BIN1
	MOV	COUNT,#04H
REVISE_G073:
	MOV	A,@R1
	MOVX	@DPTR,A
	INC	DPTR
	INC	R1
	DJNZ	COUNT,REVISE_G073
	MOV	DPS,#00H
	MOVX	A,@DPTR
	SETB	ACC.1
	MOVX	@DPTR,A
	MOV	LONG_IIC,#04H
	SETB	RS0
	SETB	RS1
	MOV	R1,#BIN1
	LCALL	IIC_WR
REVISE_G074:
	LJMP	KEY_CAID
;------------
REVISE_L02:
	JNB	1AH,REVISE_G074
	LCALL	GET_MID
	RL	A
	RL	A
	ANL	A,#7CH
	MOV	DPL,A
	MOV	DPH,#00H
	MOV	DPS,#00H
	INC	DPTR
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPH1,A
	INC	DPTR
	MOVX	A,@DPTR
	MOV	DPL1,A
	ORL	DPL1,#02H
	DEC	DPTR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -