📄 lcm240128_0611.asm
字号:
;TEST TO 240128-1 (C240128-1)
;CONTROLLER: T6963C
;SIDE: 240 X 128 DOTS
;DRAW: WHY
;DATE: 1999.5.26
;****************************************************************
WR BIT P2.4 ;DEFINE LCM WRITE PIN
RD BIT P2.5 ;DEFINE LCM READ PIN
CE BIT P2.7 ;DEFINE LCM CHIP ENABLE PIN
CD BIT P2.3 ;DEFINE LCM COMMAND/DATA PIN
FS BIT P2.2 ;DEFINE LCM WORD PIN
RST BIT P3.3 ;DEFINE LCM RESET PIN
SLK BIT P3.4
DB0 BIT P0.0 ;DEFINE LCM DATA BUS PIN
DB1 BIT P0.1
DB2 BIT P0.2
DB3 BIT P0.3
DB4 BIT P0.4
DB5 BIT P0.5
DB6 BIT P0.6
DB7 BIT P0.7
COUNT DATA 34H
CODE1 DATA 35H
O_X DATA 36H
O_Y DATA 37H
ORG 0000H
START: CLR RST ;RESET
NOP
SETB RST
CLR FS ;SET FS=0
SETB SLK
;TEXT HOME ADDRESS SET
MOV R2,#00H
MOV R3,#00H
MOV R4,#40H
LCALL PR1
;TEXT AREA SET
MOV R2,#1EH ;TEXT AREA 30 COLUMNS
MOV R3,#00H
MOV R4,#41H
LCALL PR1
;GRAPHIC HOME ADDRESS SET
MOV R2,#00H
MOV R3,#04H
MOV R4,#42H
LCALL PR1
;GRAPHIC AREA SET
MOV R2,#1EH ;GRAPHIC AREA 30 COLUMNS
MOV R3,#00H
MOV R4,#43H
LCALL PR1
MOV R4,#80H ;"OR" MODE
LCALL PR12
MOV R4,#0A7H ;CURSOR PATTERN SET 3 LINES
LCALL PR12
START1:
LCALL CLEAR ;START TO TEST
START2: MOV R4,#9FH ;DISPLAY ON
LCALL PR12
;LCALL TEST
MOV COUNT,#04H
LCALL CGRAM
MOV CODE1,#80H
;MOV CODE1,#00H
MOV O_X,#03H
MOV O_Y,#02H
LCALL WRI_CT
;MOV CODE1,#84H
;MOV O_X,#07H
;MOV O_Y,#02H
;LCALL WRI_CT
;LCALL WR_CC
JMP START2
DELAY: MOV 40H,#1FH ;DELAY TIME
DELAY1: MOV 41H,#30H
DELAY2: DJNZ 41H,DELAY2
DJNZ 40H,DELAY1
RET
;READ BUSY_SIGNAL
PR0: CLR CE ;SET CE=L
SETB CD ;SET CD=H
SETB WR ;SET WR=H
ORL P0,#0FFH
CLR RD ;SET RD=L
MOV A,P0
SETB RD ;SET RD=H
;MOV R3,A
RET
;READ BUSY_SIGNAL ,OK OR NOT ?
PR01: CALL PR0
JNB ACC.0,PR01 ;STA0 OK?
JNB ACC.1,PR01 ;STA1 OK?
RET
PR02: CALL PR0
JNB ACC.2,PR03 ;STA2 OK?
RET
PR03: CALL PR0
JNB ACC.3,PR03 ;STA3 OK?
RET
PR06: CALL PR0
JB ACC.6,ERR
RET
ERR: LJMP START
RET
;SEND OUT INSTRUCTION AND DATA TO LCM
PR1: CALL PR01 ;DOUBLE BYTE PARAMETER INST. PORT
MOV A,R2
CALL PR14
PR11: CALL PR01 ;SINGLE BYTE PARAMETER INST. PORT
MOV A,R3
CALL PR14
PR12: CALL PR01 ;NO PARAMETER INST. PORT
MOV A,R4
JMP PR15
PR14: CLR CE ;SET CE=L
CLR CD ;SET CD=L
JMP PR16
PR15: CLR CE ;SET CE=L
SETB CD ;SET CD=H
PR16: SETB RD ;SET RD=H
CLR WR ;SET WR=L
MOV P0,A
NOP
SETB WR ;SET WR=H
RET
CLEAR: MOV R2,#00H ;CLEAR DISPLAY RAM
MOV R3,#00H
MOV R4,#24H
LCALL PR1
MOV R4,#0B0H
LCALL PR12
MOV R6,#0A2H
CLEAR1: MOV R5,#1EH
CLEAR2: LCALL PR03
MOV A,#00H
LCALL PR14
DJNZ R5,CLEAR2
DJNZ R6,CLEAR1
MOV R4,#0B2H
LCALL PR12
RET
WR_CC: MOV A,O_Y
MOV B,#1EH
MUL AB
ADD A,O_X
MOV O_X,A
MOV A,B
ADDC A,#04H
MOV O_Y,A
MOV DPTR,#CGTAB
MOV A,CODE1
MOV B,#20H
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
PUSH DPH
PUSH DPL
MOV COUNT,#10H
WR_CC1: MOV R2,O_X
MOV R3,O_Y
MOV R4,#24H
LCALL PR1
POP DPL
POP DPH
CLR A
;MOV A,#00H
MOVC A,@A+DPTR
MOV R3,A
MOV A,#10H
MOVC A,@A+DPTR
;MOV A,#00H
MOV R2,A
INC DPTR
PUSH DPH
PUSH DPL
MOV R4,#0C0H
LCALL PR11
MOV A,R2
MOV R3,A
LCALL PR11
MOV A,#1EH
ADD A,O_X
MOV O_X,A
CLR A
ADDC A,O_Y
MOV O_Y,A
DJNZ COUNT,WR_CC1
POP ACC
POP ACC
RET
CGRAM: MOV R2,#03H ;设置 CGRAM 偏置地址
MOV R3,#00H
MOV R4,#22H
LCALL PR1
MOV R2,#00H;设置存储器地址指针
MOV R3,#1CH
MOV R4,#24H
LCALL PR1
MOV R4,#0B0H
LCALL PR12
MOV A,COUNT
MOV B,#08H
MUL AB
MOV COUNT,A
INC B
MOV DPTR,#CGTAB
PUSH DPH
PUSH DPL
CGRAM1: LCALL PR03
POP DPL
POP DPH
CLR A
MOVC A,@A+DPTR
INC DPTR
PUSH DPH
PUSH DPL
LCALL PR14
DJNZ COUNT,CGRAM1
DJNZ B,CGRAM1
MOV R4,#0B2H
LCALL PR12
POP ACC
POP ACC
RET
WRI_CT:
MOV A,O_Y
MOV B,#20H
MUL AB
ADD A,O_X
MOV O_X,A
MOV R2,A
MOV A,B
ADDC A,#00H
MOV O_Y,A
MOV R3,A
MOV R4,#24H
LCALL PR1
MOV A,CODE1
MOV R3,A
MOV R4,#0C0H
LCALL PR11
MOV A,CODE1
ADD A,#02H
MOV R3,A
LCALL PR11
MOV A,#1EH
ADD A,O_X
MOV R2,A
CLR A
ADDC A,O_Y
MOV R3,A
MOV R4,#24H
LCALL PR1
MOV A,CODE1
INC A
MOV R3,A
MOV R4,#0C0H
LCALL PR11
MOV A,CODE1
ADD A,#03H
MOV R3,A
LCALL PR11
NOP
RET
TEST: MOV DPTR,#ADATA ;TEST 1
;MOV 65H,DPH
;MOV 66H,DPL
;MOV R0,#01H
TEST0: MOV R2,#0AH
MOV R3,#04H
MOV R4,#24H
LCALL PR1
MOV R4,#0B0H
LCALL PR12
;MOV R1,#10H
TEST1: ;MOV A,65H
;MOV 67H,A
;MOV A,66H
;MOV 68H,A
MOV R2,#08H
TEST2: ;MOV DPH,67H
;MOV DPL,68H
;MOV R3,#1EH
TEST3: LCALL PR03
MOV A,#00H
MOVC A,@A+DPTR
LCALL PR14
;DJNZ R3,TEST3
;MOV DPH,67H
;MOV DPL,68H
INC DPTR
;MOV 67H,DPH
;MOV 68H,DPL
DJNZ R2,TEST2
;DJNZ R1,TEST1
MOV R4,#0B2H
LCALL PR12
;MOV A,66H
;ADD A,#08H
;MOV 66H,A
;JNC TEST4
;INC 65H
TEST4: ;DJNZ R0,TEST0
RET
ADATA:
DB 011H,055H,023H,055H,055H,055H,055H,055H
CGTAB:
DB 001H,001H,001H,0FFH,003H,003H,005H,005H
DB 009H,011H,02FH,0C1H,001H,001H,001H,000H
DB 000H,000H,000H,0FEH,080H,040H,040H,020H
DB 010H,018H,0EEH,004H,000H,000H,000H,000H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -