' ' ************************************* ' * 2.0インチ 128x64ドット FSTN LCD * ' * I2C (ST7567S) [GM12864-59N] * ' * テスト・プログラム * ' * O-Family 2025.12.20 * ' ************************************* ' $regfile = "m328pdef.dat" '使用するAVRを設定。 $crystal = 8000000 'AVRクロックを設定。 ' $hwstack = 64 'ハードウェア・スタックの容量を設定。 $swstack = 10 'ソフトウェア・スタックの容量を設定。 $framesize = 24 'フレーム領域の容量を設定。 ' ' * [I2C,TWI]の設定 * ' Const I2c_select = 0 'I2Cインターフェイスの選択。(0:ソフトウェアI2C , 1:ハードウェアTWI) ' #if I2c_select = 0 'ソフトウェアI2Cの場合。 Config Scl = Portc.5 'I2CバスのSCLラインを接続するポートピンを設定する。(任意のポート) Config Sda = Portc.4 'I2CバスのSDAラインを接続するポートピンを設定する。(任意のポート) Config I2cdelay = 1 'ソフトウェア I2CのSCLクロック速度を設定する。 I2cinit 'I2Cバスを初期化する。 #else 'ハードウェアTWIの場合。 $lib "i2c_TWI.LBX" 'ハードウェアTWIのライブラリを組み込む。 Config Scl = Portc.5 'I2CバスのSCLラインを接続するポートピンを設定する。 Config Sda = Portc.4 'I2CバスのSDAラインを接続するポートピンを設定する。 Config Twi = 400000 'TWIクロック速度。(400KHz) I2cinit 'I2Cバスを初期化する。 #endif ' Dim _contrast As Byte 'LCDのコントラスト設定値。[0-63] _contrast = 38 'LCDのコントラストを設定する。 [0:低い 〜 63:高い] Waitms 10 'LCDの起動待ち時間。 ' Const St7567_rotate = 0 '画面の回転。(接続コネクターが上側=[0], 下側=[1]) $lib "glcd-ST7567_I2C.lib" 'ST7567-I2C用の機能追加版ライブラリを組み込む。 Config Graphlcd = Custom , Cols = 128 , Rows = 64 , Lcdname = "ST7567" 'LCDの設定。 '-------------------------------------------------------------------------------------------------- ' ' * 表示テストプログラム * ' Dim Temp1 As Byte ' Do _contrast = 38 : Glcdcmd &H81 'LCDのコントラストを設定する。 [0:低い 〜 63:高い] Setfont Font8x8tt 'フォントを設定する。 Lcdat 1 , 1 , "ST7567S 2in LCD" '通常の文字表示。 Lcdat 2 , 1 , " I2C 128x64dots " , 2 '実線のアンダーライン。 Lcdat 4 , 1 , " ABCDefg012345678 " , 3 '点線のアンダーライン。 ' Setfont Font16x16 '16dotサイズのフォントを設定する。 Lcdat 6 , 9 , "ST" '通常表示。 Lcdat 6 , 41 , "7567S" , 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 'コントラストのテスト。 _contrast = Temp1 : Glcdcmd &H81 'LCDのコントラストを設定する。 [0:低い 〜 63:高い] Lcdat 8 , 43 , "Contrast: " ; Temp1 Waitms 300 Next Temp1 _contrast = 38 : Glcdcmd &H81 '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を圧縮した画像)