'========================================================= ' File........JP Serial GLCD 128x64 Module Test.BSP ' Purpose.....This test code use JP SerGLCD Module and BS2P ' test Smaller Images. (Ram <= 128) ' Auther......Jianping Sun ' Email.......JP@JianpingUSA.com ' WebSite.....www.JianpingUSA.com ' Started.....Feb 26, 2010 ' Updated..... '======================================================== ' {$STAMP BS2p} ' {$PBASIC 2.5} ' Test Smaller Images SOUT PIN 0 ' Serial output for GLCD S_IN PIN 1 ' Serial input for GLCD I2CPin PIN 8 ' I2C Input/Ouput pin. EE_Adr VAR Word ' EEProm 24LC128 Address idx VAR Word ' For loop CGRam_Num VAR Byte ' CGRam number ImageDat VAR Byte ' Pass data i VAR Byte x VAR Byte y VAR Byte w VAR Byte h VAR Byte #SELECT $STAMP #CASE BS2, BS2E, BS2PE T1200 CON 813 T2400 CON 396 T4800 CON 188 T9600 CON 84 T19K2 CON 32 T38K4 CON 6 #CASE BS2SX, BS2P T1200 CON 2063 T2400 CON 1021 T4800 CON 500 T9600 CON 240 T19K2 CON 110 T38K4 CON 45 #CASE BS2PX T1200 CON 3313 T2400 CON 1646 T480 CON 813 T9600 CON 396 T19K2 CON 188 T38K4 CON 84 #ENDSELECT Inverted CON $4000 Baud CON T19K2 '+ Inverted '============================================================== ' Main program '============================================================== Main: PAUSE 2000 SEROUT SOUT, Baud, [250] PAUSE 100 SEROUT SOUT, Baud, [$61] ' Send Command to show JP Logo SEROUT SOUT, Baud, [250] PAUSE 2000 w = 25 h = 40 EE_Adr = 0 GOSUB CleanScreen PAUSE 100 GOSUB ScreenText PAUSE 100 GOSUB LoadSmallImage PAUSE 100 GOSUB CleanScreen PAUSE 100 x = 0 y = 0 GOSUB ShowSmallImage GOSUB CleanScreen PAUSE 15 x = 102 y = 0 GOSUB ShowSmallImage GOSUB CleanScreen PAUSE 100 x = 0 y = 23 GOSUB ShowSmallImage GOSUB CleanScreen PAUSE 100 x = 102 y = 23 GOSUB ShowSmallImage GOSUB CleanScreen PAUSE 100 x = 51 y = 11 GOSUB ShowSmallImage END '===================== Load Image Data to CGRam_0 ======================= LoadSmallImage: FOR i = 0 TO 9 CGRam_Num = i SEROUT SOUT, Baud, [$32] ' Send Command to Small CGRam for load picture SEROUT SOUT, Baud, [125] ' Image size SEROUT SOUT, Baud, [CGRam_Num] ' CGRam number SEROUT SOUT, Baud, [250] PAUSE 100 FOR idx = 0 TO 124 I2CIN I2CPin, $A1, EE_Adr.BYTE1\EE_Adr.BYTE0,[ImageDat] SEROUT SOUT, Baud, [ImageDat] EE_Adr = EE_Adr + 1 NEXT PAUSE 10 NEXT RETURN ShowSmallImage: FOR i = 0 TO 9 CGRam_Num = i SEROUT SOUT, Baud, [$33] ' Send Command to Small CGRam for load picture SEROUT SOUT, Baud, [x] ' x SEROUT SOUT, Baud, [y] ' y SEROUT SOUT, Baud, [w] ' w SEROUT SOUT, Baud, [h] ' h SEROUT SOUT, Baud, [1] ' stely SEROUT SOUT, Baud, [CGRam_Num] ' CGRam number SEROUT SOUT, Baud, [250] PAUSE 1000 NEXT RETURN '=========================== Clean Screen ============================== CleanScreen: SEROUT SOUT, Baud, [$23] SEROUT SOUT, Baud, [0] SEROUT SOUT, Baud, [250] RETURN '=========================== Screen Text =============================== ScreenText: SEROUT SOUT, Baud, [$2B] SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, ["Loading Images,"] SEROUT SOUT, Baud, [250] PAUSE 15 SEROUT SOUT, Baud, [$2B] SEROUT SOUT, Baud, [2] SEROUT SOUT, Baud, ["please waiting..."] SEROUT SOUT, Baud, [250] PAUSE 15 SEROUT SOUT, Baud, [$5B] SEROUT SOUT, Baud, [15] SEROUT SOUT, Baud, [15] SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [250] PAUSE 15 SEROUT SOUT, Baud, [$5B] SEROUT SOUT, Baud, [15] SEROUT SOUT, Baud, [30] SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [2] SEROUT SOUT, Baud, [250] PAUSE 15 RETURN