📄 lcd_g7.asm
字号:
ADD_NEXT44: AJMP LCD_LOOP0
LCD_NEXT51: CJNE A,#33H,LCD_NEXT52
JNB FLAG2,ADD_NEXT45
JNB FLAG17,LCD_NEXT72
LCD_LOOP3: SETB FLAG32
MOV DAT,#7FH
LCALL PRG4
MOV COM,#0BBH
LCALL PRG0
MOV COM,#13H
LCALL PRG0
INC LCDPC
AJMP LCD_END
LCD_NEXT72: JNB FLAG18,ADD_NEXT45
AJMP LCD_LOOP3
ADD_NEXT45: AJMP LCD_LOOP0
LCD_NEXT52: CJNE A,#34H,LCD_NEXT53
JNB FLAG2,ADD_NEXT46
JNB FLAG17,LCD_NEXT74
LCD_LOOP4: LCALL DRAW2
CLR FLAG32
INC LCDPC
AJMP LCD_END
LCD_NEXT74: JNB FLAG18,ADD_NEXT46
AJMP LCD_LOOP4
ADD_NEXT46: AJMP LCD_LOOP0
LCD_NEXT53: CJNE A,#35H,LCD_NEXT54
JNB FLAG2,LCD_NEXT77
JNB FLAG17,LCD_NEXT76
AJMP LCD_LOOP4
LCD_NEXT76: JNB FLAG18,LCD_NEXT77
AJMP LCD_LOOP4
LCD_NEXT77: MOV COLUMN,#16H
AJMP LCD_LOOP1
LCD_NEXT54: CJNE A,#36H,LCD_NEXT55
JNB FLAG2,ADD_NEXT48
JNB FLAG17,LCD_NEXT78
AJMP LCD_LOOP4
LCD_NEXT78: JNB FLAG18,ADD_NEXT48
AJMP LCD_LOOP4
ADD_NEXT48: AJMP LCD_LOOP1
LCD_NEXT55: CJNE A,#37H,LCD_NEXT56
JNB FLAG2,ADD_NEXT49
JNB FLAG17,LCD_NEXT80
AJMP LCD_LOOP4
LCD_NEXT80: JNB FLAG18,ADD_NEXT49
AJMP LCD_LOOP4
ADD_NEXT49: AJMP LCD_LOOP1
LCD_NEXT56: CJNE A,#38H,LCD_NEXT57
JNB FLAG2,ADD_NEXT50
JNB FLAG17,LCD_NEXT82
LCD_LOOP5: MOV COM,#39H
LCALL PRG0
MOV DAT,#7FH
LCALL PRG1
INC LCDPC
AJMP LCD_END
LCD_NEXT82: JNB FLAG18,ADD_NEXT50
AJMP LCD_LOOP5
ADD_NEXT50: AJMP LCD_LOOP1
LCD_NEXT57: CJNE A,#39H,LCD_NEXT58
JNB FLAG2,ADD_NEXT51
JNB FLAG17,LCD_NEXT84
LCD_LOOP6: MOV PAGE1,#0BBH
MOV COLUMN,#3AH
MOV R1,#0E9H
AJMP ADD_NEXT51
LCD_NEXT84: JNB FLAG18,ADD_NEXT51
AJMP LCD_LOOP6
ADD_NEXT51: AJMP LCD_LOOP1
LCD_NEXT58: CJNE A,#3AH,LCD_NEXT59
JNB FLAG2,ADD_NEXT52
JNB FLAG17,LCD_NEXT86
MOV COLUMN,#41H
AJMP ADD_NEXT52
LCD_NEXT86: JNB FLAG18,ADD_NEXT52
MOV COLUMN,#41H
ADD_NEXT52: AJMP LCD_LOOP1
LCD_NEXT59: CJNE A,#3BH,LCD_END
JNB FLAG2,ADD_NEXT53
JNB FLAG17,LCD_NEXT88
MOV A,@R1
CJNE A,#26H,LCD_NEXT90
MOV COLUMN,#49H
AJMP ADD_NEXT53
LCD_NEXT90: MOV COLUMN,#47H
AJMP ADD_NEXT53
LCD_NEXT88: JNB FLAG18,ADD_NEXT53
MOV A,@R1
CJNE A,#26H,LCD_NEXT91
MOV COLUMN,#49H
AJMP ADD_NEXT53
LCD_NEXT91: MOV COLUMN,#47H
ADD_NEXT53: MOV A,@R1
MOV CODE1,A
LCALL WRITE_E2
MOV DAT,#00H
LCALL PRG1
LCALL PRG1
MOV LCDPC,#00H
CLR FLAG34
CLR FLAG23
CLR FLAG31
CLR FLAG39
CLR FLAG49
CLR FLAG50
CLR FLAG51
LCD_END: POP PSW
RET
LCM_FUNC_CONT: MOV FCODE,50H
MOV A,FCODE
MOV R1,#0B0H
LCALL FUNC
JNB FLAG33,CONTENT_NEXT14
ACALL CHANA_LINE1
LCALL CHANA1_TOG
LCALL CHANA_LINE2
LCALL CONTENT_SEL
JNB FLAG39,CONTENT_NEXT15
CONTENT_NEXT17: AJMP CONTENT_NEXT16
CONTENT_NEXT15: JB FLAG23,CONTENT_NEXT17
MOV R1,#0CEH
MOV R7,#05H
MOV A,#26H
AJMP CONTENT_LOOP0
CONTENT_NEXT14: MOV R7,#14H
MOV A,#26H
MOV R1,#0BFH
CONTENT_LOOP0: MOV @R1,A
INC R1
DJNZ R7,CONTENT_LOOP0
JNB FLAG15,CONTENT_NEXT0
MOV A,#27H
MOV @R1,A
AJMP CONTENT_NEXT1
CONTENT_NEXT0: MOV @R1,A
CONTENT_NEXT1: INC R1
MOV R0,#9BH
MOV R2,#02H ;ADD
CONTENT_LOOP2: MOV A,@R0
CJNE A,#20H,CONTENT_NEXT2
MOV A,#26H
MOV @R1,A
AJMP CONTENT_NEXT3
CONTENT_NEXT2: MOV R7,A
ANL A,#0FH
MOV @R1,A
MOV A,R7 ;ADD
JNB ACC.7,CONTENT_NEXT3 ;ADD
SETB FLAG30 ;
INC R1 ;
MOV A,#34H ;
MOV @R1,A ;
CONTENT_NEXT3: INC R0
INC R1
DJNZ R2,CONTENT_LOOP2
DEC R1 ;
MOV A,@R0
MOV R7,A
CJNE A,#20H,CONTENT_NEXT6
INC R1
MOV A,#26H
MOV @R1,A
AJMP CONTENT_NEXT8
CONTENT_NEXT6: JNB ACC.7,CONTENT_NEXT7
SETB FLAG30
INC R1
ANL A,#0FH
MOV @R1,A
INC R1
MOV A,#34H
MOV @R1,A
AJMP CONTENT_NEXT8
CONTENT_NEXT7: ANL A,#0F0H
INC R1
CJNE A,#30H,CONTENT_NEXT9
MOV A,R7
ANL A,#0FH
MOV @R1,A
AJMP CONTENT_NEXT8
CONTENT_NEXT9: CJNE A,#40H,CONTENT_NEXT10
MOV A,#0FH
MOV @R1,A
AJMP CONTENT_NEXT8
CONTENT_NEXT10: CJNE A,#50H,CONTENT_NEXT8
MOV A,#1BH
MOV @R1,A
CONTENT_NEXT8: INC R0
MOV A,@R0
MOV R7,A
INC R1
JNB ACC.7,CONTENT_NEXT11
SETB FLAG30
ANL A,#0FH
MOV @R1,A
INC R1
MOV A,#00H
MOV @R1,A
AJMP CONTENT_NEXT12
CONTENT_NEXT11: ANL A,#0FH
MOV @R1,A
CONTENT_NEXT12: JB FLAG30,CONTENT_NEXT13
INC R1
MOV A,#26H
MOV @R1,A
CONTENT_NEXT13: CLR FLAG30
MOV R7,#04H
MOV A,#26H
CONTENT_LOOP1: INC R1
MOV @R1,A
DJNZ R7,CONTENT_LOOP1
CONTENT_NEXT16: LCALL RANGE
RET
LCM_FUNC_CODE: MOV R1,#0B0H
MOV A,50H
MOV FCODE,A
LCALL FUNC
JNB FLAG33,CODE_NEXT3
ACALL CHANA_LINE1
ACALL CHANA1_TOG
ACALL CHANA_LINE2
MOV R7,#01H
MOV R1,#0CEH
AJMP CODE_LOOP0
CODE_NEXT3: MOV R7,#03H
CODE_LOOP0: MOV A,FCODE
CJNE A,#01H,CODE_NEXT0
MOV FCODE,#09H
AJMP CODE_NEXT1
CODE_NEXT0: JNB FLAG56,CODE_NEXT5
CJNE A,#67H,CODE_NEXT2
MOV FCODE,#01H
AJMP CODE_NEXT1
CODE_NEXT5: CJNE A,#61H,CODE_NEXT2
MOV FCODE,#01H
AJMP CODE_NEXT1
CODE_NEXT2: INC FCODE
CODE_NEXT1: LCALL FUNC
JNB FLAG33,CODE_NEXT4
ACALL CHANA_LINE3
ACALL CHANA1_TOG
ACALL CHANA_LINE4
CODE_NEXT4: DJNZ R7,CODE_LOOP0
RET
CHANA_LINE1: MOV R1,#0B3H
MOV R0,#0ECH
MOV A,@R1
CJNE A,#26H,CHANA1_NEXT0 ;6 bit
MOV @R0,#00H
INC R0
MOV R1,#0BDH
MOV A,@R1
CJNE A,#26H,CHANA1_NEXT1 ;5 bit
MOV R2,#04H ;4 bit
MOV R1,#0B5H
MOV A,@R1
SETB FLAG35
CLR FLAG36
AJMP CHANA1_END
CHANA1_NEXT1: SETB FLAG36
CLR FLAG35
MOV R2,#05H
MOV R1,#0B5H
MOV A,@R1
AJMP CHANA1_END
CHANA1_NEXT0: CLR FLAG35
CLR FLAG36
MOV R2,#06H
CHANA1_END: RET
CHANA1_TOG: MOV @R0,A
INC R1
MOV A,@R1
DEC R1
MOV @R1,A
ADD A,#01H
INC R1
MOV @R1,A
INC R1
INC R0
MOV A,@R1
DJNZ R2,CHANA1_TOG
TOG_END: RET
CHANA_LINE2: MOV R1,#0BFH
MOV R0,#0B3H
MOV A,#26H
MOV R2,#03H
CHANA2_LOOP0: MOV @R1,A
INC R1
DJNZ R2,CHANA2_LOOP0
MOV R2,#0CH
CHANA2_LOOP1: MOV A,@R0
MOV @R1,A
INC R0
INC R1
DJNZ R2,CHANA2_LOOP1
JNB FLAG35,CHANA2_NEXT0
MOV R1,#0C4H
MOV R2,#08H
AJMP CHANA2_LOOP2 ;2K byte
CHANA2_NEXT0: JNB FLAG36,CHANA2_NEXT1
MOV R1,#0C4H
MOV R2,#0AH
AJMP CHANA2_LOOP2
CHANA2_NEXT1: MOV R1,#0C2H
MOV R2,#0CH
CHANA2_LOOP2: MOV A,@R1
ADD A,#02H
MOV @R1,A
INC R1
DJNZ R2,CHANA2_LOOP2
JB FLAG35,CHANA2_NEXT3
AJMP CHANA2_END
CHANA2_NEXT3: MOV R0,#0F1H
MOV A,#00H
MOV @R0,A
CHANA2_END: RET
CHANA_LINE3: MOV R1,#0D1H
MOV R0,#0F2H
MOV A,@R1
CJNE A,#26H,CHANA3_NEXT0 ;6 bit
MOV @R0,#00H
INC R0
MOV R1,#0DBH
MOV A,@R1
CJNE A,#26H,CHANA3_NEXT1 ;5 bit
MOV R2,#04H ;4 bit
MOV R1,#0D3H
MOV A,@R1
SETB FLAG37
CLR FL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -