' ' ********************************************* ' * 3.12インチ 256x64 OLED テストプログラム * ' * [SSD1322] 3線 or 4線 SPI * ' * O-Family 2024. 6.17 * ' ********************************************* ' $regfile = "m328pdef.dat" '使用するAVRを設定。(ATmega328P) $crystal = 8000000 'AVRクロックを設定。 $hwstack = 64 'ハードウェア・スタックの容量を設定。 $swstack = 10 'ソフトウェア・スタックの容量を設定。 $framesize = 24 'フレーム領域の容量を設定。 ' ' * OLEDの初期設定 * ' Const Rotate_180 = 1 'OLEDの画面設置方向(180度回転)。(0:コネクターが右側 , 1:コネクターが左側) Const Spi_wire_selection = 3 'SPI接続の線数の選択。(3 = 3線式 描画速度:低) , 4 = 4線式 描画速度:高) ' $lib "glcdSSD1322-SPI.lib" 'SSD1322 3.12インチ 256x64 SPIライブラリを組み込む。 ' OLEDの接続ポートを指定する。 Cs1 = [/CS] , Rst = [/RES] , A0 = [D/C] , Si = [SDIN] , Sclk = [SCLK] Config Graphlcd = Color , Cs1 = Portc.0 , Rst = Portc.1 , A0 = Portc.2 , Si = Portc.3 , Sclk = Portc.4 '[Cs1]と[Rst]はオプション。 ' 文字列の描画命令 : [Lcdat Y , X , Character , FG , BG] ' Y = Y(行)アドレス (0〜63) , X = X(列)アドレス (0〜255) , Character = 表示する文字列または変数。 ' FG = 前景のグレースケール値 (0〜15) , BG = 背景のグレースケール値 (0〜15) : (0:暗い〜15:明るい) ' 注: SSD1322は4ビットのグレースケールのデータをワード単位で書き込むため、Xアドレスは4ドット間隔で設定してください。(例: 0,4,8 〜 248,252) ' RLE圧縮形式のBGC画像データを描画する命令 : [Showpic X , Y , label] ' X = X(列)アドレス (0〜255) , Y = Y(行)アドレス (0〜63) , label = 表示する画像データのラベル。 SHOWPIC命令のヘルプを参照してください。 ' BMP画像からRLE圧縮形式のBGC画像データを作成するために、LCD RGB-8 converter [LCDconvert.exe]を使用します。 ' 以下は、8bitのBGCフォーマットのRGB8コード(RRRG_GGBB)から、グレースケールの4ビット輝度値(0〜15)に対応させるテーブルです。 Const _bgc_r2 = &B0000_1000 'BGC RGB8コード [Red2] Const _bgc_r1 = &B0000_0000 'BGC RGB8コード [Red1] Const _bgc_r0 = &B0000_0000 'BGC RGB8コード [Red0] Const _bgc_g2 = &B0000_0100 'BGC RGB8コード [Green2] Const _bgc_g1 = &B0000_0000 'BGC RGB8コード [Green1] Const _bgc_g0 = &B0000_0000 'BGC RGB8コード [Green0] Const _bgc_b1 = &B0000_0010 'BGC RGB8コード [Blue1] Const _bgc_b0 = &B0000_0000 'BGC RGB8コード [Blue0] ' 初期値では、色R,G,Bそれぞれの中間輝度値がグレースケールの輝度値の下位4ビット(0〜15)になっています。 ' オリジナル画像の配色に合わせてグレースケールを調整してください。 ' ' **************** ' * 描画のテスト * ' **************** ' Do Setfont Color8x8 Lcdat 0 , 0 , "SSD1322 SPI 3.12in OLED 256x64" , 15 , 4 ' Showpic 4 , 10 , Plaatje1 ' BGFファイルを描画する。 Showpic 112 , 10 , Plaatje2 ' BGFファイルを描画する。 Showpic 204 , 8 , Plaatje3 ' BGFファイルを描画する。 Wait 3 Glcdcmd &HC1 : Glcddata 64 'コントラストの設定。(0〜255) Wait 3 Glcdcmd &HAE 'スリープモードON。(表示OFF) Wait 2 Glcdcmd &HAF 'スリープモードOFF。(表示ON) Wait 3 Glcdcmd &HC1 : Glcddata 128 'コントラストの設定。(0〜255) Glcdcmd &HA7 '反転表示。 Wait 3 Glcdcmd &HA6 '通常表示。 Wait 3 Cls '画面を全消去する。 Glcdcmd &HC1 : Glcddata 255 'コントラストの設定。(0〜255) Wait 2 Loop End '-------------------------------------------------------------------------------------------------- ' ' * フォント データ * ' $include "color8x8.font" ' ' * 画像データ * ' Plaatje1: $bgf "mcse2.BGC" ' BGCファイルを組み込む。(MCS) Plaatje2: $bgf "Csa617-3.bgc" ' BGCファイルを組み込む。(魚) Plaatje3: $bgf "EV001-2.BGC" ' BGCファイルを組み込む。(子供)