📄 lcm19264.asm
字号:
;TEST TO 19264-1 (C19264-1)
;CONTROLLER: KS0108
;SIDE: 192 X 64 DOTS
;DRAW: WHY
;DATE: 1999.5.26
;****************************************************************
;RS REG P3.0 ;DEFINE LCM DATA/INSTRUCTION PIN
;R_W REG P3.1 ;DEFINE LCM READ/WITTE PIN
;E REG P3.2 ;DEFINE LCM ENABLE PIN
;RST REG P3.5 ;DEFINE LCM /RESET PIN
;CSA REG P3.4 ;DEFINE LCM CHIP 1 SELECT
;CSB REG P3.3 ;DEFINE LCM CHIP 2 SELECT
;DB0~DB7 REG P1.0~P1.7 ;DEFINE LCM DATA BUS
ORG 0000H
START: CLR P3.5 ;DISPLAY RESET
NOP
NOP
SETB P3.5
CLR P3.3
CLR P3.4
CLR 20H
CLR 21H
START3: MOV A,#0C0H ;DISPLAY START LINE
LCALL TRS0
MOV A,#03FH ;DISPLAY ON
LCALL TRS0
JB 20H,START2
SETB P3.3
CLR P3.4
SETB 20H
CLR 21H
JMP START3
START2: JB 21H,START1
CLR P3.3
SETB P3.4
SETB 20H
SETB 21H
JMP START3
START1:
LCALL CLEAR ;START TO TEST
LCALL TEST
LCALL BOX
LCALL KEY
JMP START1
CLEAR: MOV R5,#0B8H ;CLEAR DISPLAY RAM
CLEAR2: CLR P3.3
CLR P3.4
CLR 20H
CLR 21H
CLEAR4: MOV A,#0C0H
LCALL TRS0
MOV A,R5
LCALL TRS0
MOV A,#40H
LCALL TRS0
MOV R4,#40H
CLEAR1: MOV A,#00H
LCALL TRS1
DJNZ R4,CLEAR1
JB 20H,CLEAR3
SETB P3.3
CLR P3.4
SETB 20H
CLR 21H
JMP CLEAR4
CLEAR3: JB 21H,CLEAR5
CLR P3.3
SETB P3.4
SETB 20H
SETB 21H
JMP CLEAR4
CLEAR5: INC R5
CJNE R5,#0C0H,CLEAR2
RET
TEST: MOV DPTR,#ADATA ;TEST 1
MOV 67H,DPH
MOV 68H,DPL
MOV R0,#07H
TEST5: MOV R5,#0B8H
TEST3: CLR P3.3
CLR P3.4
CLR 20H
CLR 21H
TEST7: MOV A,R5
LCALL TRS0
MOV A,#0C0H
LCALL TRS0
MOV A,#40H
LCALL TRS0
MOV R4,#08H
TEST2: MOV DPH,67H
MOV DPL,68H
MOV R3,#08H
TEST1: MOV A,#00H
MOVC A,@A+DPTR
LCALL TRS1
INC DPTR
DJNZ R3,TEST1
DJNZ R4,TEST2
JB 20H,TEST6
SETB P3.3
CLR P3.4
SETB 20H
CLR 21H
JMP TEST7
TEST6: JB 21H,TEST8
CLR P3.3
SETB P3.4
SETB 20H
SETB 21H
JMP TEST7
TEST8: INC R5
CJNE R5,#0C0H,TEST3
LCALL KEY
CLR C
MOV A,68H
ADD A,#08H
MOV 68H,A
JNC TEST4
INC 67H
TEST4: DJNZ R0,TEST5
RET
BOX: LCALL CLEAR ;TEST 2
CLR P3.3
CLR P3.4
CLR 20H
CLR 21H
BOX3: MOV A,#0B8H
LCALL TRS0
MOV A,#040H
LCALL TRS0
MOV R4,#40H
BOX1: MOV A,#01H
LCALL TRS1
DJNZ R4,BOX1
JB 20H,BOX2
SETB P3.3
CLR P3.4
SETB 20H
CLR 21H
JMP BOX3
BOX2: JB 21H,BOX4
CLR P3.3
SETB P3.4
SETB 20H
SETB 21H
JMP BOX3
BOX4: CLR P3.3
CLR P3.4
CLR 20H
CLR 21H
BOX7: MOV A,#0BFH
LCALL TRS0
MOV A,#040H
LCALL TRS0
MOV R4,#40H
BOX5: MOV A,#80H
LCALL TRS1
DJNZ R4,BOX5
JB 20H,BOX6
SETB P3.3
CLR P3.4
SETB 20H
CLR 21H
JMP BOX7
BOX6: JB 21H,BOX8
CLR P3.3
SETB P3.4
SETB 20H
SETB 21H
JMP BOX7
BOX8: CLR P3.3
CLR P3.4
MOV R5,#0B8H
BOX9: MOV A,R5
LCALL TRS0
MOV A,#040H
LCALL TRS0
MOV A,#0FFH
LCALL TRS1
INC R5
CJNE R5,#0C0H,BOX9
CLR P3.3
SETB P3.4
MOV R5,#0B8H
BOX10: MOV A,R5
LCALL TRS0
MOV A,#7FH
LCALL TRS0
MOV A,#0FFH
LCALL TRS1
INC R5
CJNE R5,#0C0H,BOX10
RET
DELAY: MOV 40H,#1FH ;DELAY TIME
DELAY1: MOV 41H,#30H
DELAY2: DJNZ 41H,DELAY2
DJNZ 40H,DELAY1
RET
KEY: MOV P2,#0FFH ;SELECT KEY FOR TEST
KEY1: MOV C,P2.0
JC KEY1
CALL DELAY
CALL DELAY
MOV C,P2.0
JC KEY1
CALL DELAY
MOV R4,#20H
KEY2: CALL DELAY
DJNZ R4,KEY2
RET
TRS0: CALL BUSY ;SEND OUT INSTRUCTION
CLR P3.1
CLR P3.0
JMP WRITE
TRS1: CLR P3.1 ;SEND OUT DATA
SETB P3.0
WRITE: MOV P1,A
CLR P3.2
SETB P3.2
CLR P3.2
RET
BUSY: CLR P3.0 ;READ BUSY
SETB P3.1
SETB P3.2
MOV C,P1.7
CLR P3.2
JC BUSY
RET
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 + -