' ' ************************************* ' * 1.8インチ 128x64ドット FSTN LCD * ' * SPI (ST7567A) [GM12864-01A] * ' * テスト・プログラム * ' * O-Family 2025.12.20 * ' ************************************* ' $regfile = "m328pdef.dat" '使用するAVRを設定。 $crystal = 8000000 'AVRクロックを設定。 ' $hwstack = 64 'ハードウェア・スタックの容量を設定。 $swstack = 10 'ソフトウェア・スタックの容量を設定。 $framesize = 24 'フレーム領域の容量を設定。 ' ' * グラフィックLCDの設定 (SPI) * ' Const St7567_rotate = 0 '画面の回転。(接続コネクターが上側=[0], 下側=[1]) $lib "glcd-ST7567_SPI.lib" 'ST7567-SPI用の機能追加版ライブラリを組み込む。 ' LCDの接続ポートを設定する。 Cs1 = [CS], Rst = [RST], A0 = [DC], Si = [SDA], Sclk = [SCL] Config Graphlcd = 128 * 64eadogm , Cs1 = Portd.7 , Rst = Portd.6 , A0 = Portd.5 , Si = Portd.4 , Sclk = Portd.3 Glcdcmd &H81 : Glcdcmd 30 'LCDのコントラストを設定する。 [0:低い 〜 63:高い] '-------------------------------------------------------------------------------------------------- ' ' * 表示テストプログラム * ' Dim Temp1 As Byte ' Do Glcdcmd &H81 : Glcdcmd 30 'LCDのコントラストを設定する。 [0:低い 〜 63:高い] Setfont Font8x8tt 'フォントを設定する。 Lcdat 1 , 1 , "ST7567A 1.8in LCD" '通常の文字表示。 Lcdat 2 , 1 , " SPI 128x64dots " , 2 '実線のアンダーライン。 Lcdat 4 , 1 , " ABCDefg012345678 " , 3 '点線のアンダーライン。 ' Setfont Font16x16 '16dotサイズのフォントを設定する。 Lcdat 6 , 9 , "ST" '通常表示。 Lcdat 6 , 41 , "7567A" , 1 '反転表示。 ' Setfont Font8x8 'フォントを設定する。 Lcdat 8 , 1 , "[BASCOM-AVR MCS]" Wait 3 ' Glcdcmd &HA7 '画面の表示設定。 [A7:反転] Wait 3 Glcdcmd &HA6 '画面の表示設定。 [A6:通常] Wait 3 ' Lcdat 8 , 1 , " " Setfont Font8x8tt 'フォントを設定する。 For Temp1 = 0 To 63 'コントラストのテスト。 Glcdcmd &H81 : Glcdcmd Temp1 'LCDのコントラストを設定する。 [0:低い 〜 63:高い] Lcdat 8 , 43 , "Contrast: " ; Temp1 Waitms 300 Next Temp1 Glcdcmd &H81 : Glcdcmd 30 'LCDのコントラストを設定する。 [0:低い 〜 63:高い] ' Wait 2 Glcdcmd &HAE '表示のON/OFF。 [AE:OFF(スリープ・モード)] Wait 3 Glcdcmd &HAF '表示のON/OFF。 [AF:ON(通常モード)] Wait 3 ' Showpic 0 , 0 , Plaatje 'BGFファイル(BMPを圧縮した画像)を描画する。 Wait 3 Cls Loop End ' ' * フォント・データ * ' $include "font8x8TT.font" 'フォント・ファイルを組み込む。 $include "font8x8.font" $include "font16x16.font" ' ' * BGFファイル・データ * ' Plaatje: $bgf "ks108.bgf" 'BGFファイル。(BMPを圧縮した画像)