📄 lcd_l.asm
字号:
;LCD_L.ASM 2001.1 2.15
;TEST TO 12864-1 (C12864-1)
;CONTROLLER: KS0108
;SIDE: 128 X 64 DOTS
;DRAW: WHY
;DATE: 1999.5.26
;****************************************************************
ERR DATA 20H
RAM DATA 21H
DLYL DATA 22H
DLYM DATA 23H
DLYH DATA 24H
;
Y_RAM EQU 0E0H
Y_Flash EQU 00H
Y_out0 EQU 80H
Y_out1 EQU 88H
Y_IN EQU 90H
Y_LCD EQU 20H
COM_DX EQU 0B8H
COM_DY EQU 04H
COM_DZ EQU 0C0H
;
LWRC EQU 20H
LRDC EQU 30H
LWRD EQU 0A0H
LRDD EQU 0B0H
;
YLCD BIT P1.0 ;DEFINE LCM DATA/INSTRUCTION PIN
KIR BIT P1.1 ;DEFINE LCM READ/WRITE PIN
KRST BIT P1.2 ;DEFINE LCM CHIP ENABLE PIN
KCLK BIT P1.3 ;DEFINE LCM CHIP 1 SELECT PIN
;LCS2 BIT P3.5 ;DEFINE LCM CHIP 2 SELECT PIN
;LRSTB BIT P3.2 ;DEFINE LCM /RESET PIN
;DB0~DB7 REG P1.0~P1.7 ;DEFINE LCM DATA BUS PIN
ORG 0000H
MOV DPH,#Y_RAM
MOV DPL,#1
MOV A,#55H
MOVX @DPTR,A
MOVX A,@DPTR
NOP
MOV DPH,#Y_out1
MOV A,#0AAH
MOVX @DPTR,A
NOP
ljmp l_lcd
L_FROM: NOP
; MOV A,#90H
;MOVX @DPTR,A
;MOVX A,@DPTR
NOP
MOV P2,#0
MOV A,#90H
MOVX @R0,A
NOP
;MOV R0,#0
MOVX A,@R0
NOP
MOV DPH,#0
MOV DPL,#0
MOV A,#0FFH
MOVX @DPTR,A
NOP
NOP
MOV A,#90H
MOVX @DPTR,A
MOVX A,@DPTR
NOP
LCALL K_Flash
MOV DPH,#Y_out0
CLR A
MOVX @DPTR,A
MOV DPTR,#000AH
LCALL SECERA
MOV A,ERR
JZ LF1
SJMP ERROR1
LF1: MOV RAM,#55H
LCALL BYPRG
MOVX A,@DPTR
NOP
XH: NOP
NOP
SJMP XH
ERROR1: NOP
NOP
SJMP ERROR1
;
SECERA: MOV ERR,#0
;MOV DPTR,#0
MOV A,#20H
MOVX @DPTR,A
MOV A,#0D0H
MOVX @DPTR,A
NOP
NOP
LCALL RDTB
MOV R5,#256
MOV DPL,#0
SEVEF: MOVX A,@DPTR
CJNE A,#0FFH,SERR
INC DPTR
DJNZ R5,SEVEF
SJMP SERET
SERR: MOV ERR,#01H
SERET: NOP
RET
;
BYPRG: MOV ERR,#0
MOV A,#10H
MOVX @DPTR,A
MOV A,RAM
MOVX @DPTR,A
NOP
NOP
LCALL RDTB
MOVX A,@DPTR
CJNE A,RAM,BPERR
SJMP BPRET
BPERR: MOV ERR,#02H
BPRET: NOP
RET
;
K_Flash:
MOV DPH,#Y_out0
MOV A,#0
MOVX @R0,A
MOV DPTR,#1823H
MOVX A,@DPTR
MOV DPTR,#1820H
MOVX A,@DPTR
MOV DPTR,#1822H
MOVX A,@DPTR
MOV DPTR,#0418H
MOVX A,@DPTR
MOV DPTR,#041BH
MOVX A,@DPTR
MOV DPTR,#0419H
MOVX A,@DPTR
MOV DPTR,#041AH
MOVX A,@DPTR
RET
;
RDTB: MOVX A,@DPTR
ANL A,#40H
MOV R5,A
NOP
NOP
MOVX A,@DPTR
ANL A,#40H
XRL A,R5
CJNE A,#0,RDTB
RDTBLP: MOVX A,@DPTR
ANL A,#40H
MOV R5,A
NOP
MOVX A,@DPTR
ANL A,#40H
XRL A,R5
CJNE A,#0,RDTBLP
RET
;
DLY2S: MOV DLYH,#1AH
A4: MOV DLYM,#0FFH
A5: MOV DLYL,#0FFH
DJNZ DLYL,$
DJNZ DLYM,A5
DJNZ DLYH,A4
RET
;
L_LCD: NOP
SETB YLCD
MOV DPH,#Y_out0
MOV A,#LWRC
MOVX @DPTR,A
CLR YLCD
MOV DPH,#Y_LCD
MOV A,#3EH
MOVX @DPTR,A
MOV A,#3FH
MOVX @DPTR,A
MOV A,#COM_DX ;COM_DX
MOVX @DPTR,A
MOV A,#COM_DY ;COM_DY
MOVX @DPTR,A
MOV A,#COM_DZ ;COM_DZ
SETB YLCD
MOV DPH,#Y_oUt0
MOV A,#LWRD
MOVX @DPTR,A
CLR YLCD
MOV DPH,#Y_LCD
MOV A,#05H
MOV R0,#64
L_LCD1: MOVX @DPTR,A
DJNZ R0,L_LCD1
SETB YLCD
NOP
NOP
;
ADATA:
DB 055H,055H,055H,055H,055H,055H,055H,055H
DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH
DB 0FFH,000H,0FFH,000H,0FFH,000H,0FFH,000H
DB 000H,0FFH,000H,0FFH,000H,0FFH,000H,0FFH
DB 040H,03FH,015H,015H,07FH,000H,000H,000H
DB 000H,024H,02AH,07FH,02AH,012H,000H,000H
DB 000H,000H,032H,049H,079H,041H,03EH,000H
END ;END OF PROGRAM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -