;CONTROLLER: NO (ST7565R) ;SIDE: 128 X 64 DOTS ;MPU: AT89C52 ;DATE: 2011.5.6 ;C86=L PS=L SPI Interface ;------------------------------------------------ SI EQU P1.4 ;D7 数据 SCL EQU P1.3 ;D6 时钟 A0 EQU P1.2 ;H:显示数据 L:指令数据 RES EQU P1.1 ;低电平复位脚 CS1 EQU P1.0 ;低电平片选 ;------------------------------------------------ COM EQU 30H DAT EQU 31H ;------------------------------------------------ ORG 000H LJMP MAIN ORG 033H MAIN: CALL INIT MOV R5,#03H CALL DELAY CALL CLEAR CALL BOX MOV R5,#05H CALL DELAY MOV DPTR,#CTAB CALL TEST MOV R5,#05H CALL DELAY MOV DPTR,#BMP CALL TEST MOV P0,#0A3H SJMP $ ;------------------------------------------------ INIT: CLR RES ;RESET MOV R5,#01H CALL DELAY SETB RES MOV COM,#0E2H ;RESET CODE CALL WC MOV R5,#01H CALL DELAY MOV COM,#0A2H ;SET LCD BIAS(#0A2 1/9;1/8;1/6 or #0A3 1/7;1/6;1/5) CALL WC MOV COM,#0A0H ;ADC SELECT ON (#A0H正序 #A1H反序) segment CALL WC MOV COM,#0C8H ;SHL SELECT COM1-COM64(#0C0H正序 #0C8反序) common CALL WC MOV COM,#0A4H ;NORMAL DISPLAY CALL WC MOV COM,#040H ;NORMAL DISPLAY CALL WC MOV COM,#025H ;REGULATOR RESISTOR SELECT (R2 R1 R0) (对比度调节电阻比率) CALL WC MOV COM,#081H ;SET REFERENCE VOLTAGE MODE (写LCD电压寄存器) CALL WC MOV COM,#03aH ;SET REFENENCE VOLTAGE REGISTER (#01H to #03FH) 3a CALL WC MOV COM,#02FH ;SET POWER CONTROL (VB VR VF)=111 (内置升压;电压调节;内置偏压电阻) CALL WC MOV COM,#0AFH ;DISPLAY ON CALL WC RET ;------------------------------------------------ BOX: ;128X64 BOX MOV COM,#40H ;display start address CALL WC MOV R1,#0B0H ;PAGE 0 BOX1: MOV COM,R1 CALL WC MOV COM,#00H ;SET start ADDR. LSB (low 0000) CALL WC MOV COM,#10H ;SET start ADDR. LMB (high 0000) CALL WC MOV DAT,#0FFH CALL WD MOV COM,#0FH ;SET start ADDR. LSB (low 0000) CALL WC MOV COM,#17H ;SET start ADDR. LMB (high 0000) CALL WC MOV DAT,#0FFH CALL WD INC R1 CJNE R1,#0B8H,BOX1 MOV COM,#0B0H ;PAGE0 CALL WC MOV COM,#01H CALL WC MOV COM,#10H CALL WC MOV R1,#07EH BOX2: MOV DAT,#01H CALL WD DJNZ R1,BOX2 MOV COM,#0B7H ;PAGE8 CALL WC MOV COM,#01H CALL WC MOV COM,#10H CALL WC MOV R1,#7EH BOX3: MOV DAT,#80H CALL WD DJNZ R1,BOX3 RET ;------------------------------------------------ TEST: MOV COM,#40H ;display start address CALL WC MOV R1,#0B0H ;SET PAGE 0 TEST1: MOV COM,R1 CALL WC MOV COM,#00H ;SET start ADDR. LSB (low 0000) CALL WC MOV COM,#10H ;SET start ADDR. LMB (high 0000) CALL WC MOV R5,#80H ;ALL 128 COLUMN TEST2: CLR A MOVC A,@A+DPTR MOV DAT,A CALL WD INC DPTR DJNZ R5,TEST2 INC R1 CJNE R1,#0B8H,TEST1 ;写入8页 RET ;------------------------------------------------ CLEAR: MOV R1,#0B0H ;SET PAGE 00H CLEAR01: MOV COM,#40H ;display start address CALL WC MOV R5,#84H ;ALL 132 COLUMN MOV COM,R1 CALL WC MOV COM,#00H ;SET ADDR. LSB CALL WC MOV COM,#10H ;SET ADDR. LMB CALL WC CLEAR02: MOV DAT,#00H CALL WD DJNZ R5,CLEAR02 INC R1 CJNE R1,#0B8H,CLEAR01 RET ;------------------------------------------------ WD: CLR CS1 SETB A0 NOP MOV A, DAT JMP WD01 WC: CLR CS1 CLR A0 NOP MOV A, COM WD01: MOV R0, #08H WC01: RLC A CLR SCL MOV SI, C NOP NOP SETB SCL DJNZ R0, WC01 NOP NOP SETB CS1 RET ;------------------------------------------------ DELAY: MOV R7,#0C8H ;DELAY 0.2mS DELAY1: MOV R6,#0FAH NOP NOP DELAY2: NOP NOP DJNZ R6,DELAY2 DJNZ R7,DELAY1 DJNZ R5,DELAY RET ;********************************************************************************** BMP: ;-- 调入了一幅图像:E:\LONGTECH\编程\测试图片\12864.bmp -- ;-- 宽度x高度=128x64 -- 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,080H,0E0H,0E0H,0E0H,0E0H,0E0H,0C0H,0C0H,0C0H,0C0H,0C0H,080H,080H,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,000H,080H,080H,080H,080H,080H,080H,0C0H DB 0C0H,0C0H,0C0H,0C0H,0E0H,0E0H,0E0H,0E0H,0F0H,070H,070H,030H,018H,018H,00CH,00CH 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,000H,000H,000H,0C0H,0E0H,0F8H,0FCH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,07FH,01FH,00FH,003H,001H,000H,080H,0C0H DB 0F0H,0F8H,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,03EH,01EH,006H,082H,0C0H,0E0H DB 0F8H,0FCH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,07FH,07FH,03FH,03FH,03FH,01FH,01FH,00FH DB 00FH,007H,007H,003H,003H,001H,001H,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,080H,0C0H,0F0H,0F8H,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,03FH,01FH,007H,003H,000H,000H,0C0H,0E0H,0F0H,0FCH,0FEH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,07FH,09FH,08FH,083H,081H,080H,090H,09CH,09EH,09FH,09FH,0DFH DB 0DFH,0DFH,0DFH,0CFH,0CFH,0EFH,0EFH,0EFH,06FH,067H,077H,077H,037H,037H,01BH,01BH DB 01BH,009H,00DH,005H,005H,006H,002H,003H,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,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,0C0H,0E0H,0F8H,0FCH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0DFH,0CFH DB 0C3H,0C1H,0C0H,0C0H,0C0H,0C0H,0C8H,0CEH,0CFH,0CFH,0CFH,0CFH,0CFH,0CFH,0CFH,0CFH DB 0CFH,0CFH,0EFH,0EFH,0EFH,06FH,067H,067H,037H,037H,037H,017H,017H,01BH,00BH,00BH DB 003H,001H,001H,001H,001H,001H,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,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,00CH,00EH DB 00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH DB 00FH,00FH,007H,007H,007H,007H,007H,007H,003H,003H,003H,003H,003H,001H,001H,001H DB 001H,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,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,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,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,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,0FEH,0FEH,0FEH,000H,000H,000H,000H,000H,000H,0F0H,0F8H,0FCH,0FEH,00EH DB 006H,006H,00EH,0FEH,0FCH,0F8H,0F0H,000H,0FEH,0FEH,0FEH,0FEH,0FCH,0F0H,0E0H,0FEH DB 0FEH,0FEH,0FEH,000H,0F0H,0F8H,0FCH,0FEH,00EH,006H,0C6H,0CEH,0DEH,0DEH,0DCH,0C0H DB 006H,006H,006H,006H,0FEH,0FEH,0FEH,0F6H,006H,006H,006H,000H,0FEH,0FEH,0FEH,0FEH DB 066H,066H,066H,066H,066H,000H,0E0H,0F8H,0FCH,0FEH,01EH,006H,006H,00EH,01EH,01CH DB 018H,000H,0FEH,0FEH,0FEH,0FEH,060H,060H,060H,0FEH,0FEH,0FEH,0FEH,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,00FH,00FH,00FH,00CH,00CH,00CH,00CH,00CH,00CH,001H,003H,007H,00FH,00EH DB 00CH,00CH,00EH,00FH,007H,003H,001H,000H,00FH,00FH,00FH,00FH,000H,001H,007H,00FH DB 00FH,00FH,00FH,000H,001H,003H,007H,00FH,00EH,00CH,00CH,00EH,00FH,00FH,007H,003H DB 000H,000H,000H,000H,00FH,00FH,00FH,00FH,000H,000H,000H,000H,00FH,00FH,00FH,00FH DB 00CH,00CH,00CH,00CH,00CH,000H,000H,003H,007H,00FH,00FH,00CH,00CH,00EH,00FH,007H DB 007H,000H,00FH,00FH,00FH,00FH,000H,000H,000H,00FH,00FH,00FH,00FH,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H CTAB: DB 000H,000H,000H,000H,000H,000H,000H,000H ;" "=00H DB 000H,000H,000H,04FH,000H,000H,000H,000H ;"!"=01H DB 000H,000H,007H,000H,007H,000H,000H,000H ;""=02H DB 000H,014H,07FH,014H,07FH,014H,000H,000H ;"#"=03H DB 000H,024H,02AH,07FH,02AH,012H,000H,000H ;"$"=04H DB 000H,023H,013H,008H,064H,062H,000H,000H ;"%"=05H DB 000H,036H,049H,055H,022H,050H,000H,000H ;"&"=06H DB 000H,000H,005H,003H,000H,000H,000H,000H ;"'"=07H DB 000H,000H,01CH,022H,041H,000H,000H,000H ;"("=08H DB 000H,000H,041H,022H,01CH,000H,000H,000H ;")"=09H DB 000H,014H,008H,03EH,008H,014H,000H,000H ;"*"=0AH DB 000H,008H,008H,03EH,008H,008H,000H,000H ;"+"=0BH DB 000H,000H,050H,030H,000H,000H,000H,000H ;";"=0CH DB 000H,008H,008H,008H,008H,008H,000H,000H ;"-"=0DH DB 000H,000H,060H,060H,000H,000H,000H,000H ;"."=0EH DB 000H,020H,010H,008H,004H,002H,000H,000H ;"/"=0FH DB 000H,03EH,051H,049H,045H,03EH,000H,000H ;"0"=10H DB 000H,000H,042H,07FH,040H,000H,000H,000H ;"1"=11H DB 000H,042H,061H,051H,049H,046H,000H,000H ;"2"=12H DB 000H,021H,041H,045H,04BH,031H,000H,000H ;"3"=13H DB 000H,018H,014H,012H,07FH,010H,000H,000H ;"4"=14H DB 000H,027H,045H,045H,045H,039H,000H,000H ;"5"=15H DB 000H,03CH,04AH,049H,049H,030H,000H,000H ;"6"=16H DB 000H,001H,001H,079H,005H,003H,000H,000H ;"7"=17H DB 000H,036H,049H,049H,049H,036H,000H,000H ;"8"=18H DB 000H,006H,049H,049H,029H,01EH,000H,000H ;"9"=19H DB 000H,000H,036H,036H,000H,000H,000H,000H ;":"=1AH DB 000H,000H,056H,036H,000H,000H,000H,000H ;";"=1BH DB 000H,008H,014H,022H,041H,000H,000H,000H ;"<"=1CH DB 000H,014H,014H,014H,014H,014H,000H,000H ;"="=1DH DB 000H,000H,014H,022H,014H,008H,000H,000H ;">"=1EH DB 000H,002H,001H,051H,009H,006H,000H,000H ;"?"=1FH DB 000H,032H,049H,079H,041H,03EH,000H,000H ;"@"=20H DB 000H,07EH,011H,011H,011H,07EH,000H,000H ;"A"=21H DB 000H,041H,07FH,049H,049H,036H,000H,000H ;"B"=22H DB 000H,03EH,041H,041H,041H,022H,000H,000H ;"C"=23H DB 000H,041H,07FH,041H,041H,03EH,000H,000H ;"D"=24H DB 000H,07FH,049H,049H,049H,049H,000H,000H ;"E"=25H DB 000H,07FH,009H,009H,009H,001H,000H,000H ;"F"=26H DB 000H,03EH,041H,041H,049H,07AH,000H,000H ;"G"=27H DB 000H,07FH,008H,008H,008H,07FH,000H,000H ;"H"=28H DB 000H,000H,041H,07FH,041H,000H,000H,000H ;"I"=29H DB 000H,020H,040H,041H,03FH,001H,000H,000H ;"J"=2AH DB 000H,07FH,008H,014H,022H,041H,000H,000H ;"K"=2BH DB 000H,07FH,040H,040H,040H,040H,000H,000H ;"L"=2CH DB 000H,07FH,002H,00CH,002H,07FH,000H,000H ;"M"=2DH DB 000H,07FH,006H,008H,030H,07FH,000H,000H ;"N"=2EH DB 000H,03EH,041H,041H,041H,03EH,000H,000H ;"O"=2FH DB 000H,07FH,009H,009H,009H,006H,000H,000H ;"P"=30H DB 000H,03EH,041H,051H,021H,05EH,000H,000H ;"Q"=31H DB 000H,07FH,009H,019H,029H,046H,000H,000H ;"R"=32H DB 000H,026H,049H,049H,049H,032H,000H,000H ;"S"=33H DB 000H,001H,001H,07FH,001H,001H,000H,000H ;"T"=34H DB 000H,03FH,040H,040H,040H,03FH,000H,000H ;"U"=35H DB 000H,01FH,020H,040H,020H,01FH,000H,000H ;"V"=36H DB 000H,07FH,020H,018H,020H,07FH,000H,000H ;"W"=37H DB 000H,063H,014H,008H,014H,063H,000H,000H ;"X"=38H DB 000H,007H,008H,070H,008H,007H,000H,000H ;"Y"=39H DB 000H,061H,051H,049H,045H,043H,000H,000H ;"Z"=3AH DB 000H,000H,07FH,041H,041H,000H,000H,000H ;"["=3BH DB 000H,002H,004H,008H,010H,020H,000H,000H ;"\"=3CH DB 000H,000H,041H,041H,07FH,000H,000H,000H ;"]"=3DH DB 000H,004H,002H,001H,002H,004H,000H,000H ;"^"=3EH DB 000H,040H,040H,040H,040H,040H,000H,000H ;"_"=3FH DB 000H,001H,002H,004H,000H,000H,000H,000H ;"|"=40H DB 000H,020H,054H,054H,054H,078H,000H,000H ;"a"=41H DB 000H,07FH,048H,044H,044H,038H,000H,000H ;"b"=42H DB 000H,038H,044H,044H,044H,028H,000H,000H ;"c"=43H DB 000H,038H,044H,044H,048H,07FH,000H,000H ;"d"=44H DB 000H,038H,054H,054H,054H,018H,000H,000H ;"e"=45H DB 000H,000H,008H,07EH,009H,002H,000H,000H ;"f"=46H DB 000H,00CH,052H,052H,04CH,03EH,000H,000H ;"g"=47H DB 000H,07FH,008H,004H,004H,078H,000H,000H ;"h"=48H DB 000H,000H,044H,07DH,040H,000H,000H,000H ;"i"=49H DB 000H,020H,040H,044H,03DH,000H,000H,000H ;"j"=4AH DB 000H,000H,07FH,010H,028H,044H,000H,000H ;"k"=4BH DB 000H,000H,041H,07FH,040H,000H,000H,000H ;"l"=4CH DB 000H,07CH,004H,078H,004H,078H,000H,000H ;"m"=4DH DB 000H,07CH,008H,004H,004H,078H,000H,000H ;"n"=4EH DB 000H,038H,044H,044H,044H,038H,000H,000H ;"o"=4FH DB 000H,07EH,00CH,012H,012H,00CH,000H,000H ;"p"=50H DB 000H,00CH,012H,012H,00CH,07EH,000H,000H ;"q"=51H DB 000H,07CH,008H,004H,004H,008H,000H,000H ;"r"=52H DB 000H,058H,054H,054H,054H,064H,000H,000H ;"s"=53H DB 000H,004H,03FH,044H,040H,020H,000H,000H ;"t"=54H DB 000H,03CH,040H,040H,03CH,040H,000H,000H ;"u"=55H DB 000H,01CH,020H,040H,020H,01CH,000H,000H ;"v"=56H DB 000H,03CH,040H,030H,040H,03CH,000H,000H ;"w"=57H DB 000H,044H,028H,010H,028H,044H,000H,000H ;"x"=58H DB 000H,01CH,0A0H,0A0H,090H,07CH,000H,000H ;"y"=59H DB 000H,044H,064H,054H,04CH,044H,000H,000H ;"z"=5AH DB 000H,000H,008H,036H,041H,000H,000H,000H ;"{"=5BH DB 000H,000H,000H,077H,000H,000H,000H,000H ;"|"=5CH DB 000H,000H,041H,036H,008H,000H,000H,000H ;"}"=5DH DB 000H,002H,001H,002H,004H,002H,000H,000H ;"~"=5EH DB 000H,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H ;" "=5FH DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H END