'========================================================= ' File........JP Serial GLCD 128x64 Module Test.BSP ' Purpose.....This test code use JP SerGLCD Module and BS2P ' test Function. ' Auther......Jianping Sun ' Email.......JP@JianpingUSA.com ' WebSite.....www.JianpingUSA.com ' Started.....Feb 26, 2010 ' Updated..... '======================================================== ' {$STAMP BS2p} ' {$PBASIC 2.5} SOUT PIN 0 ' Serial output for GLCD S_IN PIN 1 ' Serial input for GLCD idx VAR Word ' For loop x 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 1500 SEROUT SOUT, Baud, [$61] ' Send Command to show JP Logo SEROUT SOUT, Baud, [250] PAUSE 1000 x = 3 'Set font #3 GOSUB SetFont GOSUB CleanScreen GOSUB BackLIghtTest GOSUB CleanScreen GOSUB ScreenOnOffTest GOSUB CleanScreen GOSUB SetLine GOSUB CleanScreen GOSUB FunctionTest GOSUB CleanScreen END '========= Ellipse, Circle, Rectang, Square, Box Test ================== FunctionTest: SEROUT SOUT, Baud, [$58] 'Ellipse function SEROUT SOUT, Baud, [64] 'x1 SEROUT SOUT, Baud, [32] 'y1 SEROUT SOUT, Baud, [60] 'x2 SEROUT SOUT, Baud, [30] 'y2 SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [0] SEROUT SOUT, Baud, [250] PAUSE 1000 SEROUT SOUT, Baud, [$28] 'ClipRect function SEROUT SOUT, Baud, [5] 'Left SEROUT SOUT, Baud, [5] 'Top SEROUT SOUT, Baud, [122] 'Right SEROUT SOUT, Baud, [58] 'Bottom SEROUT SOUT, Baud, [250] PAUSE 100 SEROUT SOUT, Baud, [$29] 'ClipPed function SEROUT SOUT, Baud, [0] ' true SEROUT SOUT, Baud, [250] PAUSE 100 FOR x = 0 TO 6 SEROUT SOUT, Baud, [$59] 'Circle function SEROUT SOUT, Baud, [64] 'x SEROUT SOUT, Baud, [32] 'y SEROUT SOUT, Baud, [8*x+2] 'r SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [0] SEROUT SOUT, Baud, [250] PAUSE 1000 NEXT SEROUT SOUT, Baud, [$29] 'ClipPed function SEROUT SOUT, Baud, [1] 'false SEROUT SOUT, Baud, [250] PAUSE 100 SEROUT SOUT, Baud, [$56] 'Rectang function SEROUT SOUT, Baud, [8] 'x1 SEROUT SOUT, Baud, [8] 'y1 SEROUT SOUT, Baud, [120] 'x2 SEROUT SOUT, Baud, [56] 'y2 SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [250] PAUSE 2000 SEROUT SOUT, Baud, [$57] 'Round Rectang function SEROUT SOUT, Baud, [12] 'x1 SEROUT SOUT, Baud, [12] 'y1 SEROUT SOUT, Baud, [116] 'x2 SEROUT SOUT, Baud, [52] 'y2 SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [250] PAUSE 2000 SEROUT SOUT, Baud, [$55] 'Square function SEROUT SOUT, Baud, [48] 'x1 SEROUT SOUT, Baud, [16] 'y1 SEROUT SOUT, Baud, [33] 'L SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [250] PAUSE 1000 SEROUT SOUT, Baud, [$5A] 'Full box function SEROUT SOUT, Baud, [51] 'x1 SEROUT SOUT, Baud, [19] 'y1 SEROUT SOUT, Baud, [78] 'x2 SEROUT SOUT, Baud, [46] 'y2 SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [250] PAUSE 1000 FOR x = 0 TO 8 SEROUT SOUT, Baud, [$27] 'Invert function SEROUT SOUT, Baud, [10] 'x1 SEROUT SOUT, Baud, [10] 'y1 SEROUT SOUT, Baud, [109] 'w SEROUT SOUT, Baud, [45] 'h SEROUT SOUT, Baud, [250] PAUSE 1000 NEXT PAUSE 3000 RETURN '=========================== Line Test ================================= SetLine: SEROUT SOUT, Baud, [$52] 'Line Hor function SEROUT SOUT, Baud, [0] 'x1 SEROUT SOUT, Baud, [127] 'x2 SEROUT SOUT, Baud, [31] 'y SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [250] PAUSE 1000 SEROUT SOUT, Baud, [$53] 'Line Ver function SEROUT SOUT, Baud, [63] 'x1 SEROUT SOUT, Baud, [0] 'y1 SEROUT SOUT, Baud, [63] 'y2 SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [250] PAUSE 1000 FOR x = 0 TO 5 SEROUT SOUT, Baud, [$54] 'Line function SEROUT SOUT, Baud, [0] 'x1 SEROUT SOUT, Baud, [x*10+5] 'y1 SEROUT SOUT, Baud, [127] 'x2 SEROUT SOUT, Baud, [x*10+5] 'y2 SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [x] SEROUT SOUT, Baud, [250] PAUSE 1000 NEXT FOR x = 0 TO 3 SEROUT SOUT, Baud, [$54] 'Line function SEROUT SOUT, Baud, [32*x+16] 'x1 SEROUT SOUT, Baud, [0] 'y1 SEROUT SOUT, Baud, [32*x+16] 'x2 SEROUT SOUT, Baud, [63] 'y2 SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [x] SEROUT SOUT, Baud, [250] PAUSE 1000 NEXT SEROUT SOUT, Baud, [$54] 'Line function SEROUT SOUT, Baud, [0] 'x1 SEROUT SOUT, Baud, [0] 'y1 SEROUT SOUT, Baud, [127] 'x2 SEROUT SOUT, Baud, [63] 'y2 SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [0] SEROUT SOUT, Baud, [250] PAUSE 1000 SEROUT SOUT, Baud, [$54] 'Line function SEROUT SOUT, Baud, [0] 'x1 SEROUT SOUT, Baud, [63] 'y1 SEROUT SOUT, Baud, [127] 'x2 SEROUT SOUT, Baud, [0] 'y2 SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [0] SEROUT SOUT, Baud, [250] PAUSE 1000 PAUSE 1000 RETURN '=========================== Clean Screen ============================== CleanScreen: SEROUT SOUT, Baud, [$23] SEROUT SOUT, Baud, [0] SEROUT SOUT, Baud, [250] PAUSE 100 RETURN '============================= Set Font ================================ SetFont: SEROUT SOUT, Baud, [$24] SEROUT SOUT, Baud, [x] SEROUT SOUT, Baud, [250] PAUSE 100 RETURN '============================ Back Light Test ========================== ScreenOnOffTest: GOSUB ScreenText1 PAUSE 1000 x = 1 GOSUB ScreenOnOff x = 0 GOSUB ScreenOnOff x = 1 GOSUB ScreenOnOff x = 0 GOSUB ScreenOnOff RETURN '============================ Back Light =============================== ScreenOnOff: SEROUT SOUT, Baud, [$22] SEROUT SOUT, Baud, [x] SEROUT SOUT, Baud, [250] PAUSE 1000 RETURN '=========================== Screen Text =============================== ScreenText1: SEROUT SOUT, Baud, [$2B] SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, ["Screen On/Off"] SEROUT SOUT, Baud, [250] PAUSE 100 SEROUT SOUT, Baud, [$5F] SEROUT SOUT, Baud, [5] SEROUT SOUT, Baud, [25] SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [250] PAUSE 1000 RETURN '============================ Back Light Test ========================== BackLIghtTest: GOSUB ScreenText0 x = 0 GOSUB BackLight x = 1 GOSUB BackLight x = 0 GOSUB BackLight x = 1 GOSUB BackLight RETURN '============================ Back Light =============================== BackLight: SEROUT SOUT, Baud, [$21] SEROUT SOUT, Baud, [x] SEROUT SOUT, Baud, [250] PAUSE 1000 RETURN '=========================== Screen Text =============================== ScreenText0: SEROUT SOUT, Baud, [$2B] SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, ["BackLight Test."] SEROUT SOUT, Baud, [250] PAUSE 100 SEROUT SOUT, Baud, [$5F] SEROUT SOUT, Baud, [0] SEROUT SOUT, Baud, [25] SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [1] SEROUT SOUT, Baud, [250] PAUSE 1000 RETURN