;TEST TO WG12864 ;KS0108 ;MCU: 89S51 RS EQU P2.0 ;DEFINE LCM DATA/INSTRUCTION PIN RW EQU P2.1 ;DEFINE LCM READ/WRITE PIN E EQU P2.4 ;DEFINE LCM CHIP ENABLE PIN CS2 EQU P2.6 ;DEFINE LCM CHIP 1 SELECT PIN CS1 EQU P2.7 ;DEFINE LCM CHIP 2 SELECT PIN RSTB EQU P2.3 ;DEFINE LCM /RESET PIN K EQU P3.3 KB EQU P3.4 CLA EQU 40H SEG EQU 41H TIMES EQU 42H TESTDAT1 EQU 43H TESTDAT2 EQU 44H ORG 0000H JMP START ORG 0013H JMP HALT ORG 0040H LJMP START INIT: CLR RSTB ;DISPLAY RESET NOP NOP SETB RSTB setb CS1 CLR CS2 ;ENABLE ALL CHIP SETB RW ;RW=1 CLR RS ;RS=0 INIT1: ORL P0,#0FFH ;P0 INPUT MODE SETB E ;E=1 MOV A,P0 ;READ BUSY SIGNAL CLR E ;E=0 JB ACC.7,INIT1 ;BUSY END? JB ACC.4,INIT1 ;RESET END? MOV A,#0C0H ;DISPLAY START LINE LCALL WRCOMD MOV A,#03FH ;DISPLAY ON LCALL WRCOMD setb CS2 CLR CS1 ;ENABLE ALL CHIP SETB RW ;RW=1 CLR RS ;RS=0 INIT2: ORL P0,#0FFH ;P0 INPUT MODE SETB E ;E=1 MOV A,P0 ;READ BUSY SIGNAL CLR E ;E=0 JB ACC.7,INIT2 ;BUSY END? JB ACC.4,INIT2 ;RESET END? MOV A,#0C0H ;DISPLAY START LINE LCALL WRCOMD MOV A,#03FH ;DISPLAY ON LCALL WRCOMD RET HALT: PUSH ACC PUSH 40H PUSH 41H CLR IT1 SETB K LCALL DELAYL JNB K,$ LCALL DELAY HALT1: SETB K JNB K,HALT2 JMP HALT1 HALT2: LCALL DELAY JNB K,HALTOUT JMP HALT1 HALTOUT:JNB K,$ LCALL DELAY POP 41H POP 40H POP ACC SETB IT1 RETI START: LCALL INIT SETB EA SETB IT1 SETB EX1 LCALL CLEAR ;START TO TEST LCALL DELAYL MOV 43H,#0FFH ;ALL DISPLAY MOV 44H,#0FFH LCALL TEST MOV 45H,#05H LCALL DELAYLL LCALL INIT LCALL CLEAR LCALL DELAYL MOV 43H,#0AAH ;GRID DISPLAY MOV 44H,#055H LCALL TEST MOV 45H,#05H LCALL DELAYLL LCALL INIT ; LCALL CLEAR ; LCALL DELAYL ; MOV 43H,#0AAH ;SPACING DISPLAY ; MOV 44H,#0AAH ; LCALL TEST ; MOV 45H,#01H ; LCALL DELAYLL ; LCALL CLEAR ; LCALL DELAYL ; MOV 43H,#00H ;OTHER SPACING DISPLAY ; MOV 44H,#0FFH ; LCALL TEST ; MOV 45H,#03H ; LCALL DELAYLL ; MOV 43H,#0FFH ; MOV 44H,#00H ; LCALL TEST ; MOV 45H,#03H ; LCALL DELAYLL ; MOV 43H,#00H ; MOV 44H,#0FFH ; LCALL TEST ; MOV 45H,#03H ; LCALL DELAYLL MOV 43H,#055H MOV 44H,#0AAH LCALL TEST MOV 45H,#05H LCALL DELAYLL LCALL INIT LCALL DELAYL MOV DPTR,#DHDOT ;MY PC LCALL DRAW MOV 45H,#05H LCALL DELAYLL LCALL INIT MOV DPTR,#DHDOT1 ;COMPANY'S LOGO LCALL DRAW MOV 45H,#05H LCALL DELAYLL LJMP START CLEAR: SETB CS1 CLR CS2 ;CLEAR DISPLAY RAM MOV R5,#0B8H MOV A,#0C0H LCALL WRCOMD CLEAR2: MOV A,R5 LCALL WRCOMD MOV A,#40H LCALL WRCOMD MOV R4,#40H CLEAR1: MOV A,#00H LCALL WRDATA DJNZ R4,CLEAR1 INC R5 CJNE R5,#0C0H,CLEAR2 CLEAR3: SETB CS2 CLR CS1 ;CLEAR DISPLAY RAM MOV R5,#0B8H MOV A,#0C0H LCALL WRCOMD CLEAR5: MOV A,R5 LCALL WRCOMD MOV A,#40H LCALL WRCOMD MOV R4,#40H CLEAR4: MOV A,#00H LCALL WRDATA DJNZ R4,CLEAR4 INC R5 CJNE R5,#0C0H,CLEAR5 RET TEST: CLR CS1 SETB CS2 ; TEST ,LCD'S RAM DATA:43H&44H MOV R5,#0B8H MOV A,#0C0H LCALL WRCOMD TEST4: MOV A,R5 LCALL WRCOMD MOV A,#40H LCALL WRCOMD MOV R4,#20H TEST3: MOV A,43H LCALL WRDATA MOV A,44H LCALL WRDATA DJNZ R4,TEST3 INC R5 CJNE R5,#0C0H,TEST4 TEST5: SETB CS1 CLR CS2 ; TEST ,LCD'S RAM DATA:43H&44H MOV R5,#0B8H MOV A,#0C0H LCALL WRCOMD TEST7: MOV A,R5 LCALL WRCOMD MOV A,#40H LCALL WRCOMD MOV R4,#20H TEST6: MOV A,43H LCALL WRDATA MOV A,44H LCALL WRDATA DJNZ R4,TEST6 INC R5 CJNE R5,#0C0H,TEST7 RET DRAW: CLR CS1 SETB CS2 ;SEND OUT PICTURE'S DATA MOV R5,#0B8H MOV A,#0C0H LCALL WRCOMD SETB CS1 CLR CS2 ;SEND OUT PICTURE'S DATA MOV R5,#0B8H MOV A,#0C0H LCALL WRCOMD DRAW2: SETB KB JB KB,AA SETB CS2 CLR CS1 JMP BB AA: SETB CS1 CLR CS2 BB: MOV 40H,#00H DRAW3: MOV A,R5 LCALL WRCOMD MOV A,#40H LCALL WRCOMD MOV R4,#40H DRAW1: MOV A,#0 MOVC A,@A+DPTR LCALL WRDATA INC DPTR DJNZ R4,DRAW1 MOV A,40H CJNE A,#00H,DRAW4 SETB KB JB KB,CC SETB CS1 CLR CS2 JMP DD CC: SETB CS2 CLR CS1 DD: MOV 40H,#01H JMP DRAW3 DRAW4: INC R5 CJNE R5,#0C0H,DRAW2 RET WRCOMD: CALL BUSY ;SEND OUT INSTRUCTION CLR RW CLR RS JMP WRITE WRDATA: CLR RW ;SEND OUT DATA SETB RS WRITE: MOV P0,A CLR E SETB E CLR E RET BUSY: CLR RS ;READ BUSY SETB RW SETB E MOV C,P0.7 CLR E JC BUSY RET DELAY: MOV 40H,#8FH ;DELAY TIME:SHORT DELAY1: MOV 41H,#30H DELAY2: DJNZ 41H,DELAY2 DJNZ 40H,DELAY1 RET DELAYL: MOV 40H,#07FH ;DELAY TIME DELAY3: MOV 41H,#0FFH DELAY4: DJNZ 41H,DELAY4 DJNZ 40H,DELAY3 RET DELAYLL: MOV 40H,#0FFH ;DELAY TIME:LONG DELAY5: MOV 41H,#0FFH DELAY6: DJNZ 41H,DELAY6 DJNZ 40H,DELAY5 DJNZ 45H,DELAYLL RET DHDOT: ;MY PC DB 0FFH,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,081H,041H,041H,041H,041H,041H,041H DB 041H,041H,041H,041H,041H,041H,041H,041H,041H,041H,041H,0C1H,081H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,0FFH DB 0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,00CH,03EH,0F2H,0C2H,002H,012H,012H,092H,092H,092H,092H,092H,092H,0D2H DB 0D2H,0D2H,052H,0D2H,052H,052H,052H,046H,01CH,070H,0C0H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,0C0H,030H,0CCH,0F3H,0FCH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,07FH,09FH,0E7H,0F9H,0FEH,03FH,00FH,003H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH DB 0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,003H,00FH,03CH,0F0H,0C0H,000H,004H,004H,004H,006H,006H DB 002H,002H,002H,002H,003H,003H,081H,081H,0C1H,0C0H,041H,047H,01CH,070H,0C0H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,01CH,023H,05CH,05FH,0BFH,0BFH,07FH,07FH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,07FH,09FH,0E7H,0F9H,0FEH,03FH,00FH,003H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH DB 0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,003H,00FH,03CH,0F0H,0C0H,000H,000H DB 000H,000H,080H,080H,0C0H,0C8H,06CH,064H,036H,032H,01BH,019H,00DH,00CH,007H,003H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,081H,041H,042H,022H,025H,025H,02BH DB 01BH,039H,03EH,07FH,07FH,0FFH,0FFH,0FFH,0E0H,0C0H,080H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH DB 0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,003H,007H,006H DB 003H,003H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,003H,007H,007H,00EH,00EH,01CH,01CH,038H DB 03CH,03CH,01EH,01FH,00FH,00FH,007H,007H,003H,003H,001H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH DB 0FFH,000H,000H,000H,000H,000H,000H,000H,000H,028H,028H,028H,0F8H,024H,0A0H,0FCH DB 020H,024H,0A8H,020H,000H,0F0H,010H,018H,014H,0F0H,040H,0B0H,01CH,010H,010H,0F0H DB 000H,010H,010H,010H,0F0H,014H,018H,010H,0F0H,010H,018H,010H,000H,010H,090H,0FCH DB 090H,048H,070H,040H,07CH,060H,050H,0C8H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,028H,028H,028H,0F8H,024H,0A0H,0FCH,020H DB 024H,0A8H,020H,000H,0F0H,010H,018H,014H,0F0H,040H,0B0H,01CH,010H,010H,0F0H,000H DB 000H,0F0H,050H,050H,050H,0FCH,050H,050H,050H,0F8H,010H,000H,000H,0F8H,028H,0F8H DB 010H,0D0H,094H,018H,0D0H,010H,0D0H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH DB 0FFH,000H,000H,000H,000H,000H,000H,000H,000H,002H,012H,011H,01FH,009H,008H,005H DB 006H,009H,010H,01CH,000H,01FH,009H,009H,009H,01FH,000H,000H,013H,010H,010H,00FH DB 000H,010H,010H,010H,008H,00BH,004H,00BH,008H,010H,010H,010H,000H,003H,000H,01FH DB 000H,012H,012H,012H,012H,012H,012H,01FH,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,002H,012H,011H,01FH,009H,008H,005H,006H DB 009H,010H,01CH,000H,01FH,009H,009H,009H,01FH,000H,000H,013H,010H,010H,00FH,000H DB 000H,007H,002H,002H,002H,00FH,012H,012H,012H,013H,018H,000H,018H,007H,011H,01FH DB 000H,01FH,012H,011H,016H,010H,01FH,000H,000H,000H,000H,000H,000H,000H,000H,0FFH DB 0FFH,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H DB 080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H DB 080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H DB 080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H DB 080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H DB 080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H DB 080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H DB 080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,080H,0FFH DHDOT1: ;Ή«ΛΎΝΌ»Υ DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H,020H,0E0H,0A0H DB 0A0H,0A0H,020H,0E0H,080H,000H,000H,000H,020H,0C0H,000H,000H,000H,0E0H,000H,000H DB 000H,000H,000H,000H,0E0H,000H,0E0H,000H,0A0H,0A0H,0E0H,0A0H,0A0H,0A0H,000H,040H DB 040H,0C0H,020H,020H,000H,040H,080H,000H,0E0H,000H,000H,080H,080H,0E0H,080H,000H DB 080H,080H,0E0H,080H,080H,080H,000H,040H,040H,040H,040H,0C0H,060H,040H,040H,040H DB 040H,040H,000H,0E0H,020H,020H,0E0H,000H,0E0H,0A0H,0A0H,0A0H,0E0H,000H,000H,000H DB 000H,000H,0E0H,000H,000H,060H,080H,000H,000H,000H,000H,000H,020H,020H,020H,020H DB 020H,0A0H,020H,020H,0E0H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,088H,084H,0F3H,094H,0F5H DB 092H,0F5H,090H,094H,0F7H,080H,000H,0C2H,03EH,040H,0A1H,091H,089H,087H,089H,091H DB 0B1H,081H,000H,0C0H,03FH,000H,07FH,080H,09FH,040H,03EH,020H,040H,09FH,000H,031H DB 00DH,0FFH,005H,009H,010H,012H,014H,010H,0FFH,008H,000H,088H,088H,0FFH,004H,080H DB 08CH,054H,027H,054H,08CH,080H,000H,008H,004H,002H,0FFH,029H,029H,029H,0A9H,0FFH DB 000H,000H,000H,0FFH,010H,013H,01CH,000H,0FFH,084H,05CH,024H,057H,088H,000H,004H DB 082H,0C1H,0A0H,098H,086H,050H,061H,0C2H,004H,004H,000H,000H,001H,03DH,025H,025H DB 025H,03DH,081H,080H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,080H,080H DB 080H,080H,080H,000H,080H,080H,080H,080H,080H,000H,080H,080H,080H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,080H,080H,080H,000H,000H,080H,080H,080H,080H DB 080H,000H,080H,080H,080H,080H,080H,000H,080H,080H,080H,080H,080H,000H,000H,000H DB 000H,000H,000H,000H,000H,080H,080H,080H,000H,000H,000H,080H,080H,080H,000H,000H DB 000H,000H,080H,000H,000H,000H,080H,080H,080H,080H,080H,000H,000H,000H,000H,080H DB 000H,000H,000H,080H,080H,080H,000H,000H,000H,080H,080H,080H,000H,000H,080H,080H DB 080H,080H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,040H DB 07FH,040H,001H,000H,040H,07FH,044H,04EH,061H,000H,040H,07FH,040H,040H,040H,060H DB 000H,000H,042H,000H,000H,000H,03FH,040H,040H,040H,03FH,000H,001H,000H,07CH,002H DB 001H,000H,027H,044H,044H,044H,038H,000H,027H,044H,044H,044H,038H,000H,004H,004H DB 004H,004H,004H,000H,063H,050H,048H,044H,043H,000H,03FH,044H,044H,045H,038H,000H DB 000H,041H,07FH,040H,000H,000H,027H,044H,044H,044H,038H,000H,008H,016H,011H,07FH DB 050H,000H,063H,050H,048H,044H,043H,000H,03FH,044H,044H,045H,038H,000H,027H,044H DB 044H,044H,038H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,040H,0C0H DB 040H,040H,0C0H,000H,000H,000H,0C0H,000H,000H,000H,040H,0C0H,000H,0C0H,040H,000H DB 000H,000H,000H,000H,000H,000H,080H,040H,040H,040H,080H,000H,0C0H,040H,040H,040H DB 0C0H,000H,0C0H,040H,040H,040H,040H,000H,0C0H,040H,040H,040H,040H,000H,000H,000H DB 000H,000H,000H,000H,080H,040H,040H,040H,080H,000H,080H,040H,040H,040H,080H,000H DB 080H,040H,040H,040H,080H,000H,080H,040H,040H,040H,080H,000H,080H,040H,040H,040H DB 080H,000H,080H,040H,040H,040H,000H,000H,0C0H,040H,040H,040H,040H,000H,080H,040H DB 040H,040H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,020H,03FH DB 022H,007H,000H,000H,020H,03EH,009H,00FH,038H,020H,020H,039H,006H,039H,020H,000H DB 000H,000H,021H,000H,000H,000H,01FH,020H,020H,020H,01FH,000H,000H,000H,03EH,001H DB 000H,000H,013H,022H,022H,022H,01CH,000H,013H,022H,022H,022H,01CH,000H,002H,002H DB 002H,002H,002H,000H,01DH,022H,022H,022H,01DH,000H,010H,020H,022H,022H,01DH,000H DB 010H,020H,022H,022H,01DH,000H,01FH,020H,020H,020H,01FH,000H,01DH,022H,022H,022H DB 01DH,000H,01FH,022H,022H,022H,01CH,000H,013H,022H,022H,022H,01CH,000H,003H,024H DB 024H,024H,01FH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,040H,0C0H,000H,0C0H,000H,0C0H,040H,040H,0C0H,000H,0C0H DB 000H,0C0H,040H,040H,0C0H,000H,0C0H,000H,0C0H,040H,000H,000H,000H,000H,000H,000H DB 000H,040H,0C0H,000H,0C0H,000H,0C0H,040H,000H,040H,040H,0C8H,000H,000H,000H,040H DB 0C0H,080H,040H,040H,080H,000H,000H,080H,040H,040H,040H,0C0H,000H,000H,080H,040H DB 040H,040H,080H,000H,040H,0C0H,040H,0C0H,040H,080H,000H,000H,008H,008H,0F8H,000H DB 000H,000H,000H,080H,040H,040H,040H,0C0H,000H,000H,080H,040H,040H,048H,0F8H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,080H,040H,040H,040H,0C0H,000H,000H,080H DB 040H,040H,040H,080H,000H,040H,0C0H,040H,0C0H,040H,080H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,003H,00CH,003H,00CH,003H,000H,000H,003H,00CH,003H DB 00CH,003H,000H,000H,003H,00CH,003H,00CH,003H,000H,000H,00CH,00CH,000H,000H,000H DB 000H,000H,003H,00CH,003H,00CH,003H,000H,000H,008H,008H,00FH,008H,008H,000H,008H DB 00FH,008H,000H,008H,00FH,008H,000H,007H,008H,008H,008H,004H,000H,000H,007H,008H DB 008H,008H,007H,000H,008H,00FH,000H,00FH,000H,00FH,008H,000H,008H,008H,00FH,008H DB 008H,000H,000H,007H,008H,008H,008H,004H,000H,000H,007H,008H,008H,008H,00FH,008H DB 000H,00CH,00CH,000H,000H,000H,000H,000H,007H,008H,008H,008H,004H,000H,000H,007H DB 008H,008H,008H,007H,000H,008H,00FH,000H,00FH,000H,00FH,008H,000H,000H,000H,000H END