' ' ************************************************* ' * 1.8インチ 65KフルカラーLCD テストプログラム * ' * 横128 x 縦160 ドット [ST7735S] SPI * ' * O-Family 2019. 5.16 * ' ************************************************* ' $regfile = "m88pdef.dat" '使用するAVRを設定。(ATmega88P) '$regfile = "m328pdef.dat" '使用するAVRを設定。(ATmega328P) $crystal = 8000000 'AVRクロックを設定。 $hwstack = 64 'ハードウェア・スタックの容量を設定。 $swstack = 10 'ソフトウェア・スタックの容量を設定。 $framesize = 24 'フレーム領域の容量を設定。 ' ' * G-LCDの初期設定 * ' Const Portrait = 0 'LCDの画面設置方向(90度回転)。 (0:横置き[X=160,Y=128] , 1:縦置き[X=128,Y=160]) Const Rotate_180 = 1 'LCDの画面設置方向(180度回転)。(0:コネクターが上側 , 1:コネクターが下側) $lib "glcd-ST7735S_1R8_128x160.lib" 'ST7735Sの1.8インチ128x160版ライブラリを組み込む。 ' LCDの接続ポートを指定する。 Cs1 = [CS] , Rst = [RESET] , A0 = [A0] , Si = [SDA] , Sclk = [SCK] Config Graphlcd = Color , Cs1 = Portd.3 , Rst = Portd.4 , A0 = Portd.5 , Si = Portd.6 , Sclk = Portd.7 '[Cs1]と[Rst]はオプション。 Initlcd 'ST7735Sを初期化する。 Cls 'G-LCDの全画面を消去する。 ' ' * 色の名前を定義する * [RRRG_GGBB] = [R2,R1,R0,G2_G1,G0,B1,B0] ' Const Black = &B0000_0000 Const Red = &B1110_0000 Const Green = &B0001_1100 Const Blue = &B0000_0011 Const Magenta = &B1110_0011 Const Yellow = &B1111_1100 Const Cyan = &B0001_1111 Const White = &B1111_1111 ' Const Orange = &B1110_1100 Const Brightgreen = &B0011_1100 Const Brightblue = &B0001_1111 Const Darkred = &B0110_0000 Const Darkgreen = &B0000_1100 Const Darkblue = &B0000_0001 ' ' **************** ' * 描画のテスト * ' **************** ' #if Portrait = 0 '横置き[X=160,Y=128] Box(0 , 0) -(159 , 127) , White Setfont Color8x8 Lcdat 1 , 1 , "Red" , Red , Black Lcdat 9 , 1 , "Green" , Green , Black Lcdat 17 , 1 , "Blue" , Blue , Black Lcdat 25 , 1 , "Magenta" , Magenta , Black Lcdat 33 , 1 , "Yellow" , Yellow , Black Lcdat 41 , 1 , "Cyan" , Cyan , Black Lcdat 49 , 1 , "Orange" , Orange , Black Lcdat 57 , 1 , "White" , White , Black Lcdat 67 , 1 , "Black" , Black , White ' Lcdat 77 , 1 , "Darkred" , Darkred , Black Lcdat 85 , 1 , "Darkgreen" , Darkgreen , Black Lcdat 93 , 1 , "Darkblue" , Darkblue , Black Lcdat 101 , 1 , "Brightgreen" , Brightgreen , Black ' Boxfill(118 , 86) -(158 , 126) , Red Boxfill(133 , 101) -(143 , 111) , Green Box(124 , 92) -(152 , 120) , Cyan ' Circle(92 , 28) , 18 , Blue Circle(92 , 28) , 10 , Yellow Line(66 , 28) -(118 , 28) , White Pset 92 , 28 , Black ' Dim Temp1 As Byte For Temp1 = 1 To 66 Step 5 Line(102 , 66) -(158 , Temp1) , Cyan Next Temp1 ' #else '縦置き[X=128,Y=160] Box(0 , 0) -(127 , 159) , White Setfont Color8x8 Lcdat 1 , 1 , "Red" , Red , Black Lcdat 9 , 1 , "Green" , Green , Black Lcdat 17 , 1 , "Blue" , Blue , Black Lcdat 25 , 1 , "Magenta" , Magenta , Black Lcdat 33 , 1 , "Yellow" , Yellow , Black Lcdat 41 , 1 , "Cyan" , Cyan , Black Lcdat 49 , 1 , "Orange" , Orange , Black Lcdat 57 , 1 , "White" , White , Black Lcdat 67 , 1 , "Black" , Black , White ' Lcdat 77 , 1 , "Darkred" , Darkred , Black Lcdat 85 , 1 , "Darkgreen" , Darkgreen , Black Lcdat 93 , 1 , "Darkblue" , Darkblue , Black Lcdat 101 , 1 , "Brightgreen" , Brightgreen , Black ' Boxfill(86 , 118) -(126 , 158) , Red Boxfill(101 , 133) -(111 , 143) , Green Box(92 , 124) -(120 , 152) , Cyan ' Circle(38 , 134) , 18 , Blue Circle(38 , 134) , 10 , Yellow Line(12 , 134) -(64 , 134) , White Pset 38 , 134 , Black ' Dim Temp1 As Byte For Temp1 = 1 To 66 Step 5 Line(70 , 66) -(126 , Temp1) , Cyan Next Temp1 ' #endif ' End '-------------------------------------------------------------------------------------------------- ' ' * フォント データ * ' $include "color8x8.font"