📄 19264asm.a51
字号:
Enable bit P2.0
RW bit P2.2
DI bit P2.3
cs1 bit P2.7
cs2 bit P2.6
cs3 bit P2.5
ORG 0000H
LJMP MAIN
ORG 0100H
dispon:
PUSH DPH
PUSH DPL
;MOV DPTR,#0E000H ;select all area ,R/W For Write
clr cs1
clr cs2
clr cs3
;MOVX @DPTR,A
clr RW
clr DI
POP DPL
POP DPH
RET
startline:
PUSH DPH
PUSH DPL
; MOV DPTR,#0E000H ;select all area ,R/W For Write
;MOVX @DPTR,A
clr cs1
clr cs2
clr cs3
clr RW
clr DI
POP DPL
POP DPH
RET
xposit:
PUSH DPH
PUSH DPL
;MOV DPTR,#0E000H ;select all area ,R/W For Write
;MOVX @DPTR,A
clr cs1
clr cs2
clr cs3
clr RW
clr DI
POP DPL
POP DPH
RET
yposit:
PUSH DPH
PUSH DPL
MOV DPTR,#0E000H ;select all area ,R/W For Write
MOVX @DPTR,A
clr cs1
clr cs2
clr cs3
clr RW
clr DI
POP DPL
POP DPH
RET
COMAND_LR:
PUSH DPH
PUSH DPL
MOV DPTR,#0E000H ;select all area ,R/W For Write
MOVX @DPTR,A
clr cs1
clr cs2
clr cs3
POP DPL
POP DPH
RET
COMAND_L:
PUSH DPH
PUSH DPL
MOV DPTR,#8000H ;select first area ,R/W For Write
MOVX @DPTR,A
clr cs1
setb cs2
setb cs3
clr RW
clr DI
POP DPL
POP DPH
RET
COMAND_M:
PUSH DPH
PUSH DPL
MOV DPTR,#4000H ;select middle area ,R/W For Write
MOVX @DPTR,A
setb cs1
clr cs2
setb cs3
clr RW
clr DI
POP DPL
POP DPH
RET
COMAND_R:
PUSH DPH
PUSH DPL
MOV DPTR,#2000H ;select right area ,R/W For Write
MOVX @DPTR,A
setb cs1
setb cs2
clr cs3
clr RW
clr DI
POP DPL
POP DPH
RET
WRITE_L:
PUSH DPH
PUSH DPL
MOV DPTR,#8800H ;write data to ram ,select chip 1
MOVX @DPTR,A ;R/W For Write ,D/I value 1
clr cs1
setb cs2
setb cs3
clr RW
setb DI
nop
nop
POP DPL
POP DPH
RET
WRITE_M:
PUSH DPH
PUSH DPL
MOV DPTR,#4800H
MOVX @DPTR,A
POP DPL
POP DPH
RET
WRITE_R:
PUSH DPH
PUSH DPL
MOV DPTR,#2800H
MOVX @DPTR,A
POP DPL
POP DPH
RET
WRITE_LR:
PUSH DPH
PUSH DPL
MOV DPTR,#0E800H ;select all chips and set D/I for "1"
MOVX @DPTR,A
SETB RW
SETB DI
SETB Enable
NOP
NOP
NOP
Nop
nop
nop
nop
clr Enable
POP DPL
POP DPH
LCALL DELAY
RET
MS40: MOV R7,#0E8H
MS2: MOV R6,#0FFH
MS1: DJNZ R6,MS1
DJNZ R7,MS2
RET
DELAY: MOV R5,#10H
DELAY1: LCALL MS40
DJNZ R5,DELAY1
RET
;*********************************************
MAIN:
MOV SP,#67H
MOV A,#03FH ;open lcd
LCALL dispon
MOV R0,#64
MOV R1,#08H
Mov A,#0A1H
Lcall startline
MOV A,#0B8H ;set 0 page
ZERO1: PUSH ACC
LCALL xposit
NOP
MOV A,#041H ;选择列
LCALL yposit
NOP
MOV A,#00H ;display "0"
ZERO: LCALL WRITE_LR
NOP
DJNZ R0,ZERO
POP ACC
INC A
DJNZ R1,ZERO1
;******************************************
MOV R1,#08H
MOV A,#0B8H
L: PUSH ACC
LCALL COMAND_LR
NOP
MOV A,#40H
LCALL COMAND_LR
NOP
MOV R0,#32
L1: MOV A,#0FFH
LCALL WRITE_LR
NOP
MOV A,#00H
LCALL WRITE_LR
NOP
DJNZ R0,L1
POP ACC
INC A
DJNZ R1,L
LCALL DELAY
;******************************************
MOV R1,#08H
MOV A,#0B8H
AA: PUSH ACC
LCALL COMAND_LR
NOP
MOV A,#40H
LCALL COMAND_LR
NOP
MOV R0,#32
AA1: MOV A,#00H
LCALL WRITE_LR
NOP
MOV A,#0FFH
LCALL WRITE_LR
NOP
DJNZ R0,AA1
POP ACC
INC A
DJNZ R1,AA
LCALL DELAY
;************************************
MOV R1,#08H
MOV A,#0B8H
H: PUSH ACC
LCALL COMAND_LR
NOP
MOV A,#40H
LCALL COMAND_LR
NOP
MOV R0,#32
H1: MOV A,#0AAH
LCALL WRITE_LR
NOP
MOV A,#0AAH
LCALL WRITE_LR
DJNZ R0,H1
POP ACC
INC A
DJNZ R1,H
LCALL DELAY
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -