■ AVRにグラフィックLCDを接続

 AVRマイコンに、グラフィック・タイプの液晶表示器(LCD)を接続します。
 BASICコンパイラ、「BASCOM-AVR」には、グラフィックLCDを制御する命令も用意されていますので、アセンブラでドライバーやライブラリーを作らなくても、簡単に描画をすることができます。

 BASCOM-AVRが標準で対応しているLCDコントローラ(LSI)はT6963Cですが、付属のライブラリを組み込むことで、KS0108、SEDシリーズにも対応できるようになります。
 また、新しいLCDに合わせたオリジナルのライブラリーも順次製作されているので、各種のグラフィックLCDを制御する事ができます。


           SUNLIKE SG12864ASLB-GB-G01
           Vatronix TG12864B-02WWBV , TG12864E-02A

SUNLIKE SG12864ASLB-GB-G01
        (秋月電子通商)
表 示
液 晶
バックライト
電源電圧
外形寸法
コントローラー
仕 様 書
128 x 64 ドット
濃紺
LED 緑
5V (4.5V〜5.5V)
W93 x H70 x D12.7 mm
KS0108互換
SG12864A

Vatronix TG12864B-02WWBV
       (秋月電子通商)
表 示
液 晶
バックライト
電源電圧
外形寸法
コントローラー
仕 様 書
128 x 64 ドット
青色反転
LED 白
5V (4.7V〜5.2V)
W93 x H70 x D11.8 mm
KS0108互換
TG12864B-02WWBV

 ・AVRマイコンからは、データバス用に8つのポートと制御用に6つのポートが必要です。
 ・AVRチップおよびポートやピンの配置は変更が可能です。
 ・回路図は下記の「SG12232C」と共用です。
回 路 図  PDF版 SG12864A_SG12232C_Cir.pdf
                  注意! この図面を使用した、いかなる損害にも責任を負いません。

※ 回路設計上の注意
 ・このLCDは、CSが[H]アクティブで、R/Wが[H]でREADになるため、リセット状態でAVRのポートが
  ハイ・インピーダンスになった場合に、LCDのデータポートが出力状態になってしまいます。
 ・LCDのデータポートとISP端子を共用している場合は、ISP信号とデータバスがぶつかって、
  AVRの書き込みができなくなります。
 ・LCDのDB0〜DB7とAVRのISPピンを共用する場合は、CS1とCS2またはR/W端子を
  10KΩ〜100KΩの抵抗器でプルダウンして下さい。

 
描画テストプログラム
 
 ・LCDコントローラはKS0108互換なので、BASCOM-AVRのライブラリを使用して描画ができます。
 ・表示サンプルプログラム。 (AVRチップおよびポートやピンの配置は変更が可能です)
プログラム  テキスト形式 ソースファイル  SG12864A_Test.TXT
 BASCOM-AVR用 ソースファイル  SG12864A_Test.bas

 ・KS0108チップ用ライブラリは、チップセレクト信号(Ce,Ce2)が[L]アクティブの仕様になって
  いるので、「Config Graphlcd」命令のピン指定で逆に設定しております。

 
 ・フォント・ファイルは下記のフォルダー内にありますので、プログラム・ソースと同じフォルダーに
  コピーしてからコンパイルして下さい。
BASCOM-AVR 付属フォント (各種サイズあり)
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\font8x8.font
 
O-Family オリジナル フォント
横8dot×縦8dot  OFfont8x8.font 横6dot×縦8dot  OFfont6x8.font
オリジナル・フォントの作り方  グラフィックLCD用 フォント・エディターの使用方法


SHOWPIC命令を使用した、サンプル画像を描画するプログラム
 
 ・グラフィックLCDに、BGFファイル(BMPを圧縮した画像)を描画します。
プログラム  テキスト形式 ソースファイル  SG12864A_SHOWPIC_Test.TXT
 BASCOM-AVR用 ソースファイル  SG12864A_SHOWPIC_Test.bas

 ・サンプルのBGFファイル"KS108.bgf"は、下記にありますので、プログラム・ソースと同じフォルダに
  置いて下さい。  表示見本
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\KS108.bgf


SHOWPICE命令を使用した、EEPROMに置かれた画像を描画するプログラム
 
 ・グラフィックLCDに、EEPROMに置かれたBGFファイル(BMPを圧縮した画像)を描画します。
プログラム  テキスト形式 ソースファイル  SG12864A_SHOWPICE_Test.TXT
 BASCOM-AVR用 ソースファイル  SG12864A_SHOWPICE_Test.bas
 
 ・"tp.bgf"は、テスト用のファイルなので、下記の「BGFファイルの作成方法」で、画像ファイルを
  用意して下さい。  表示見本
 ・AVRの書き込み時は、フラッシュROMだけではなく、EEPROMも書き込みを行って下さい。


EEPROMファイルの書き込み方法
 
 ・上記のプログラムをコンパイルすると、「プログラム名.EEP」と言うファイルが、プログラムと同じ
  フォルダー内に出来上がります。
 ・BASCOM-AVR付属の書込ソフトでは、このEEPファイルを直接EEPROMに書き込めます。
 ・他のライターを使用する場合は、HEXファイルが必要になりますので、「$eeprom」命令の下に、
  「$eepromhex」命令を追加して下さい。
 ・この命令を追加すると、「プログラム名.EEP」ファイルの中身が、HEX形式に変わります。
 ・拡張子が対応できない場合は、「プログラム名.EEP」を「別名.HEX」に改名して下さい。


BGFファイルの作成方法
 
・グラフィックLCDに合わせて、128x64ドット以内の
 BMPファイルを用意します。
 (カラー画像も、白黒のドットに変換されます)
・BASCOM-AVRの、[Tools]→[Graphic Converter]
 を起動します。
・[Load]ボタンをクリックして、BMPファイルを読み
 込むか、クリップボードから貼り付けます。
・[LCD type]を128x64に、[Font]は8*8、[SED Series]
 にもチェックを入れます。
 (画像が小さい場合は、[Height・Width]で調整して
  下さい)
・[Save]をクリックし、プログラム・ソースと同じ
 フォルダに、ファイル名を付けて保存します。







SUNLIKE SG12232C


SUNLIKE SG12232C
        (秋月電子通商)
表 示
液 晶
バックライト
電源電圧
外形寸法
コントローラー
仕 様 書
122 x 32 ドット
濃紺
LED 緑
5V (4.5V〜5.5V)
W85 x H40 x D13 mm
S1D1520互換
SG12232C

 ・AVRマイコンからは、データバス用に8つのポートと制御用に6つのポートが必要です。
 ・AVRチップおよびポートやピンの配置は変更が可能です。
 ・このLCDは非同期の外部クロック2KHzが必要で、AVRのTimer出力から送り出すか、
  タイマーIC(LMC555等)を使用して発振回路を作り、クロックを[CL]端子に入力します。
 ・LCDコントローラは違いますが、制御方法はKS0108Bとほぼ同じです。
 ・回路図は上記の「SG12864A」と共用です。
回 路 図  PDF版 SG12864A_SG12232C_Cir.pdf
                  注意! この図面を使用した、いかなる損害にも責任を負いません。

※ 回路設計上の注意
 ・このLCDは、/CSが[L]アクティブで、R/Wが[H]でREADになるため、リセット状態でAVRのポートが
  ハイ・インピーダンスになった場合に、LCDのデータポートが出力状態になってしまいます。
 ・LCDのデータポートとISP端子を共用している場合は、ISP信号とデータバスがぶつかって、
  AVRの書き込みができなくなります。
 ・LCDのDB0〜DB7とAVRのISPピンを共用する場合は、/CS1と/CS2端子を10KΩ〜100KΩの
  抵抗器でプルアップして下さい。

 
描画テストプログラム
 
 ・BASCOM-AVRには、「glcdSED1520.LBX」というライブラリーがありますが、このLCDとは全く違う
  制御方法を行っていますので、流用できませんでした。
 ・そこで、上記のKS0108用ライブラリー"glcdKS108.LBX"の、コマンドとパラメータを変更して制御
  します。
 ・以下のライブラリー・ファイルを、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\
  に保存して下さい。  glcdKS108-SG12232C.LBX
プログラム  テキスト形式 ソースファイル  SG12232C_Test.TXT
 BASCOM-AVR用 ソースファイル  SG12232C_Test.bas
 
 ・プログラム内のライブラリ指定を下記にして下さい。
  $lib "glcdKS108-SG12232C.LBX"
 ・Config Graphlcd命令は、KS0108と同じです。
 
 ・フォント・ファイルは下記のフォルダー内にありますので、プログラム・ソースと同じフォルダーに
  コピーしてからコンパイルして下さい。
BASCOM-AVR 付属フォント (各種サイズあり)
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\font8x8.font
 
O-Family オリジナル フォント
横8dot×縦8dot  OFfont8x8.font 横6dot×縦8dot  OFfont6x8.font
オリジナル・フォントの作り方  グラフィックLCD用 フォント・エディターの使用方法







その他 旧タイプのフラフィックLCD (販売終了)

 ・過去に購入してテストしたグラフィックLCDです。 (一部販売終了)
 ・いずれも5Vの単一電源で動作し、コントラスト調整用のボリューム1個と、データ線8本、
  コントロール線6本を、ポートに接続するだけで制御できます。
 ・ただし、LCDのピン配列が、キャラクタLCDのように標準になっていないようで、
  各社まちまちですので注意が必要です。
接続回路図 GIF版 GrLCDcir.gif
 

Jing Handa Electronics JHD622-12864
表 示
液 晶
バックライト
外形寸法
コントローラー
仕 様 書
購 入 店
128 x 64 ドット

LED 白
W93 x H70 x D14 mm
KS0108B互換

XiKIT store

Jing Handa Electronics JHD622-12864E
表 示
液 晶
バックライト
外形寸法
コントローラー
仕 様 書
購 入 店
128 x 64 ドット
青色反転
LED 白
W93 x H70 x D14 mm
KS0108B互換

XiKIT store


XIAMEN OCULAR OPTICS GDM12864H
表 示
液 晶
バックライト
外形寸法
コントローラー
仕 様 書
購 入 店
128 x 64 ドット
濃紺
LED 緑
W75 x H52.7 x D10 mm
KS0108B互換
GDM12864H
Strawberry Linux







ELECTRONIC ASSEMBLY DOGS102N-6

ELECTRONIC ASSEMBLY DOGS102N-6
        (Strawberry Linux)
表 示
液 晶
バックライト
電源電圧
外形寸法
コントローラー
インターフェイス
仕 様 書
102 x 64 ドット
濃紺
なし
2.5V〜3.3V (約250μA)
W38 x H39 x D2.1 mm
UC1701
SPI
DOGS102N-6

 ・このLCDは、一方向(送信のみ)のSPI通信で制御します。
 ・AVRマイコンからは、制御用に5つのポートが必要です。
 ・AVRチップおよびポートやピンの配置は変更が可能です。
回 路 図  PDF版 DOGS102N-6_Test_Cir.pdf
                  注意! この図面を使用した、いかなる損害にも責任を負いません。

 
描画テストプログラム
 
 ・以下のライブラリー・ファイルを、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\
  に保存して下さい。  glcdEADOGS102_V2.LBX
プログラム  テキスト形式 ソースファイル  EADOGS102_test.TXT
 BASCOM-AVR用 ソースファイル  EADOGS102_test.bas
 
 ・プログラム内のライブラリ指定を下記にして下さい。
  $lib "glcdEADOGS102_V2.lbx"
 ・「Config Graphlcd」命令の接続ポート指定は下記の通りです。 ([ ]内はLCDの端子名称)
   Cs1 = [/CS0] , A0 = [CD] , Si = [SDA] , Sclk = [SCK] , Rst = [/RST]
 
 ・フォント・ファイルは下記のフォルダー内にありますので、プログラム・ソースと同じフォルダーに
  コピーしてからコンパイルして下さい。
BASCOM-AVR 付属フォント (各種サイズあり)
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\font8x8TT.font
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\font16x16.font

 ・LCD内のメモリーが読み出せないため、「LINE」や「PSET」命令は使用できません。
 ・「Lcdat」命令の追加オプションとして、アンダーラインが描画可能です。
   1:反転表示 , 2:実線のアンダーライン , 3:点線のアンダーライン
 ・「Const Eadogs_rotate = 1」行を記述すると、LCDの設置方向を回転させることができます。
   (この行を記述すると、制御ピン(コントローラ)が下側になるように配置できます)
 ・LCDのコントラストは、下記命令で変更が可能です。
   「Glcdcmd &H81 : Glcdcmd XX」  XXは0〜63 (薄い〜濃い)







Xiamen Zettler Electronics AQM1248A-RN-FBW-P

Xiamen Zettler Electronics AQM1248A-RN-FBW-P
        (秋月電子通商)
表 示
液 晶
バックライト
電源電圧
外形寸法
コントローラー
インターフェイス
仕 様 書
128 x 48 ドット

なし (バックライト白のタイプもあり)
2.4V〜3.3V (約1mA)
W34 x H20 mm
ST7565R
SPI
AQM1248A-RN-FBW-P

 ・このLCDは、一方向(送信のみ)のSPI通信で制御します。
 ・AVRマイコンからは、制御用に5つのポートが必要です。
 ・AVRチップおよびポートやピンの配置は変更が可能です。
回 路 図  PDF版 AQM1248A_Test_Cir.pdf
                  注意! この図面を使用した、いかなる損害にも責任を負いません。

 
描画テストプログラム
 
 ・以下のライブラリー・ファイルを、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\
  に保存して下さい。  glcdAQM1248A.lbx
プログラム  テキスト形式 ソースファイル  AQM1248A_Test.TXT
 BASCOM-AVR用 ソースファイル  AQM1248A_Test.bas
 
 ・プログラム内のライブラリ指定を下記にして下さい。
  $lib "glcdAQM1248A.lbx"
 ・「Config Graphlcd」命令の接続ポート指定は下記の通りです。 ([ ]内はLCDの端子名称)
   Cs1 = [/CS] , A0 = [RS] , Si = [SDI] , Sclk = [SCLK] , Rst = [/RESET]
 
 ・フォント・ファイルは下記のフォルダー内にありますので、プログラム・ソースと同じフォルダーに
  コピーしてからコンパイルして下さい。
BASCOM-AVR 付属フォント (各種サイズあり)
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\font8x8TT.font
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\font16x16.font

 ・LCD内のメモリーが読み出せないため、「LINE」や「PSET」命令は使用できません。
 ・「Lcdat」命令の追加オプションとして、アンダーラインが描画可能です。
   1:反転表示 , 2:実線のアンダーライン , 3:点線のアンダーライン
 ・「Const Aqm1248a_rotate = 1」行を記述すると、LCDの設置方向を回転させることができます。
   (この行を記述すると、制御ピン(コントローラ)が上側になるように配置できます)
 ・LCDのコントラストは、下記命令で変更が可能です。
   「Glcdcmd &H81 : Glcdcmd XX」  XXは0〜63 (薄い〜濃い)







SUNHOKEY Electronics  0.96インチ OLED (有機ELディスプレイ)

Xiamen Zettler Electronics 0.96インチ OLED
        (秋月電子通商)
表 示

電源電圧
外形寸法
コントローラー
インターフェイス
仕 様 書
128 x 64 ドット

3.0V〜5.5V (約20mA)
W27.5 x H27.5 mm
SSD1306
I2C
SSD1306

 ・このOLEDは、I2C通信で制御します。 (クロック速度は最大400KHz)
 ・AVRマイコンからは、I2C通信用に2つのポートが必要です。
  (ソフトウェアI2Cの場合は、任意のポートを指定可能)
  (ハードウェアTWIの場合は、チップ指定の[SCL]と[SDA]の固定ポート)
 ・AVRチップおよびポートやピンの配置は変更が可能です。
 ・I2Cバス用のプルアップ抵抗器は、OLEDモジュール基板に実装済みなので不要です。
回 路 図  PDF版 OLED_Test_Cir.pdf
                  注意! この図面を使用した、いかなる損害にも責任を負いません。

 
描画テストプログラム
 
 ・以下のライブラリー・ファイルを、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\
  に保存して下さい。  glcdSSD1306-I2C_V2.lib
プログラム  テキスト形式 ソースファイル  OLED_SSD1306_Test.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1306_Test.bas
 
 ・「Const I2c_select = 0」行で、 I2Cインターフェイスの方式を選択します。
  (0:ソフトウェアI2C , 1:ハードウェアTWI))
   (ソフトウェアI2Cの場合は、[SCL]と[SDA]を任意のポートに指定可能)
   (ハードウェアTWIの場合は、チップ指定の[SCL]と[SDA]の固定ポート)
 ・プログラム内のライブラリ指定、および「Config Graphlcd」命令は、テストプログラムの様に
  記述して下さい。
 ・フォント・ファイルとbgfファイルは下記のフォルダー内にありますので、プログラム・ソースと
  同じフォルダーにコピーしてからコンパイルして下さい。
BASCOM-AVR 付属フォント (各種サイズあり)
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\font8x8TT.font
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\KS108.bgf

 ・OLED内のメモリーが読み出せないため、「LINE」や「PSET」命令は使用できません。
 ・「Lcdat」命令の追加オプションとして、アンダーラインが描画可能です。
   1:反転表示 , 2:実線のアンダーライン , 3:点線のアンダーライン
 ・「Const Ssd1306_rotate = 1」行を記述すると、OLEDの設置方向を回転させることができます。
   (この行を記述すると、接続ケーブルが上側になるように配置できます)
 ・OLEDのコントラストは、下記命令で変更が可能です。
   「_contrast = XX : Glcdcmd &H81」  XXは0〜255 (薄い〜濃い)
 ・テストで使用した白色OLEDは、コントラストの設定で大きな変化はありませんでしたが、他のタイプ
  (黄色+青色など)では、消灯〜最大輝度まで変化するパネルもあります。


 
OLEDパネルを2台接続して制御
 
・このOLEDに使用されているコントローラーSSD1306は、
 I2Cバスのスレーブ・アドレスを[78h]と[7Ah]の2つから
 選択できます。
 (パネル搭載の基板によっては[78h]に固定されています)

・海外のユーザーから2台を接続して2画面にできないか
 という要望があり、ライブラリーを追加することにしました。

・左の基板では、「IIC ADRESS SELECT」にある4.7KΩの
 抵抗器により、[0x78]と[0x7A]を切り替えることができます。

 ・以下のライブラリー・ファイルを、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\
  に保存して下さい。  glcdSSD1306-I2C_V2x2.lib
プログラム  テキスト形式 ソースファイル  OLED_SSD1306_x2_Test.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1306_x2_Test.bas

・電源および[SCL]と[SDA]ラインは、2台で共用
 します。 (パラレルで接続)

・変数 「I2c_addr」 にI2Cのスレーブ・アドレスを
 入れて描画命令を実行します。
  [&H78 or &H7A]

・その他の使用方法は、上記の1台用と同じです。







Nokia 5110 相当品 (携帯電話のリサイクル品)

 青色基板 接続ピン(コネクター)が1列
表 示
液 晶
バックライト
電源電圧
消費電流
  (実測値)
外形寸法
コントローラー
インターフェイス
仕 様 書
84 x 48 ドット

青 (白のタイプもあり)
2.7V 〜 5V
(LCD) 3.3V:500uA , 5V:700uA
(バックライト) 3.3V:3mA , 5V:10mA
W43 x H45 x D6.5 mm
PCD8544
SPI
PCD8544
 赤色基板 接続ピン(コネクター)が上下2列
表 示
液 晶
バックライト
電源電圧
消費電流
  (実測値)
外形寸法
コントローラー
インターフェイス
仕 様 書
84 x 48 ドット

白 (青のタイプもあり)
2.7V 〜 5V
(LCD) 3.3V:150uA , 5V:170uA
(バックライト) 3.3V:15mA , 5V:50mA
W45 x H45 x D6.5 mm
PCD8544 相当品
SPI
PCD8544

 ・このLCDは、一方向(送信のみ)のSPI通信で制御します。
 ・AVRマイコンからは、制御用に5つのポートが必要です。 [RST] , [CE] , [DC] , [DIN] , [CLK]
  ([RST]は[H]レベルに固定、 [CE]は[L]レベルに固定して、残りの3つのポートでも制御可能)
 ・AVRチップおよびポートやピンの配置は変更が可能です。
回 路 図  PDF版 Nokia5110_Test_Cir.pdf
                  注意! この図面を使用した、いかなる損害にも責任を負いません。

 
描画テストプログラム
 
 ・以下のライブラリー・ファイルを、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\
  に保存して下さい。  glcd-Nokia3310_V2.lib
プログラム  テキスト形式 ソースファイル  Nokia5110_LcdTest.TXT
 BASCOM-AVR用 ソースファイル  Nokia5110_LcdTest.bas
 
 ・プログラム内のライブラリ指定を下記にして下さい。
  $lib "glcd-Nokia3310_V2.lib"
 ・「Config Graphlcd」命令の接続ポート指定は下記の通りです。 ([ ]内はLCDの端子名称)
   Rst = [RST] , Cs1 = [CE] , A0 = [DC] , Si = [DIN] , Sclk = [CLK]
   [RST]を[H]レベル、 [CE]を[L]レベルに固定して、3つのポートで制御する場合は、
   「Rst = Portx.x , Cs1 = Portx.x」の記述を削除しください。

 
 ・フォント・ファイルは下記をダウンロードして、プログラム・ソースと同じフォルダーにコピーしてから
  コンパイルして下さい。
 ・BASCOM試用版の場合はFont12x16.fontを削除して、8ドットのフォントだけでテストしてください。

 ・LCD内のメモリーが読み出せないため、「LINE」や「PSET」命令は使用できません。
 ・「Lcdat」命令の追加オプションとして、アンダーラインが描画可能です。
   1:反転表示 , 2:実線のアンダーライン , 3:点線のアンダーライン
 ・「Const Rotate_lcd = 1」行を記述すると、LCDの設置方向を180度回転させることができます。
   (この行を記述すると、接続コネクターが上側になるように配置できます)
 ・「Const Negative_lcd = 1」行を記述すると、全画面を反転して表示させることができます。
 ・LCDのコントラストは、下記の命令で変更が可能です。
   「Lcdcontrast XXX」  XXXは0〜127 (薄い〜濃い)
 
 ※ 購入した赤色基板では、コントラストに対する命令が機能せず、電源電圧が変化しても
   自動的にコントラストが調整されるようです。 
(購入する基板によって同じとは限りません)







2.42インチ OLED (有機ELディスプレイ)



Amazon 2.42インチoled
AliExpress
 2.42インチoled

表 示

電源電圧
外形寸法
コントローラー
インターフェイス
仕 様 書
128 x 64 ドット
白 (黄、緑、青)
3.3V〜5.5V
W71 x H43.5 mm
SSD1309
SPI , I2C
SSD1309

 ・このOLEDは、SPIまたはI2C通信で制御します。 (モジュールの背面にあるジャンパーで選択)
  (SPIのクロック速度は最大10MHz、 I2Cのクロック速度は最大400KHz)
 ・AVRマイコンからは、SPIで4つのポート、I2Cで2つのポートが必要です。
  (電源の立ち上がりが遅い場合などは、リセット端子[RES]も制御が必要です)
 ・SPIは、I2C,TWIより描画が遙かに高速です。
 ・SPIの場合は、マイコンとの接続が3.3V限定になります。
  (SPIの制御信号を3.3Vにレベル変換すれば、電源は5Vでも使用できます)
 ・AVRチップおよびポートやピンの配置は変更が可能です。
  (ソフトウェアI2Cの場合は、任意のポートを指定可能)
  (ハードウェアTWIの場合は、チップ指定の[SCL]と[SDA]の固定ポートを使用) (描画は早くなる)
 ・I2Cバス用のプルアップ抵抗器は、OLEDモジュール基板に実装済みなので不要です。
 
 ・販売されているモジュールによって、I2C,TWI専用の4ピン(5ピン)タイプと、SPIとI2Cを
  選択できる7ピンのタイプがあります。
 ・コネクターの位置がこのテストで使用したモジュールと違うタイプの製品もありますが、同様に
  制御できると思います。
 
回 路 図  PDF版 SD1309_2R42_128x64_OLED_Cir.pdf
 
   SPIで複数台接続する場合。
回 路 図  PDF版 SSD1309_2R42_OLED_SPI-Mult_Cir.pdf
 
   I2C,TWIで複数台接続する場合。
回 路 図  PDF版 SSD1309_2R42_OLED_I2C-Mult_Cir.pdf

                  注意! この図面を使用した、いかなる損害にも責任を負いません。

 
描画テストプログラム
 
 ・以下のライブラリー・ファイルを、BASCOM-AVRをインストールしたフォルダ内のLIBフォルダに
  保存して下さい。  (例 C:\MCS\BASCAVR2085\LIB\)
 
  SPI用  glcdSSD1309-SPI_V2.lib   I2C,TWI用  glcdSSD1309-I2C_V2.lib

 スタンダードAVRのテスト。 (SPI、I2C、TWI 用)
プログラム  テキスト形式 ソースファイル  OLED_SSD1309_Test.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1309_Test.bas

 SPI接続で複数LCDのテスト。
プログラム  テキスト形式 ソースファイル  OLED_SSD1309_SPI_Mult.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1309_SPI_Mult.bas

 I2C,TWI接続で複数LCDのテスト。
プログラム  テキスト形式 ソースファイル  OLED_SSD1309_I2C_Mult.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1309_I2C_Mult.bas

 USI接続のテスト。
プログラム  テキスト形式 ソースファイル  OLED_SSD1309_Test_USI.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1309_Test_USI.bas
 USI接続で複数LCDのテスト。
プログラム  テキスト形式 ソースファイル  OLED_SSD1309_I2C_Mult_USI.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1309_I2C_Mult_USI.bas


 Xmegaのテスト。(SPI、I2C、TWI 用) (BASCOM-AVR(製品版)が必要です)
プログラム  テキスト形式 ソースファイル  OLED_SSD1309_Test_XMega.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1309_Test_XMega.bas
 XmegaのI2Cで複数LCDのテスト。 (BASCOM-AVR(製品版)が必要です)
プログラム  テキスト形式 ソースファイル  OLED_SSD1309_I2C_Mult_XM.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1309_I2C_Mult_XM.bas


 XTINYのテスト。(SPI、I2C、TWI 用)(BASCOM-AVR(製品版)とXTINY Add Onが必要です)
プログラム  テキスト形式 ソースファイル  OLED_SSD1309_Test_XTiny.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1309_Test_XTiny.bas
 XTINYのI2Cで複数LCDのテスト。(BASCOM-AVR(製品版)とXTINY Add Onが必要です)
プログラム  テキスト形式 ソースファイル  OLED_SSD1309_I2C_Mult_XT.TXT
 BASCOM-AVR用 ソースファイル  OLED_SSD1309_I2C_Mult_XT.bas

 ・「Const Interface_selection = 1」行で、 SPI または I2C,TWIインターフェイスを選択します。
   (インターフェイスの選択 [0:SPI , 1:I2C,TWI])
 ・I2C,TWIの場合は、「Const I2c_select = 1」行で、 I2Cインターフェイスの方式を選択します。
   (I2Cインターフェイスの選択 [0:ソフトウェアI2C , 1:ハードウェアTWI])
   (ソフトウェアI2Cの場合は、[SCL]と[SDA]を任意のポートに指定可能)
   (ハードウェアTWIの場合は、チップ指定の[SCL]と[SDA]の固定ポート) (描画が早くなる)
 ・プログラム内のライブラリ指定、および「Config Graphlcd」命令は、テストプログラムの様に
  記述して下さい。
 ・フォント・ファイルとbgfファイルは、BASCOM-AVRをインストールしたフォルダ内の
  「Samples」フォルダ内にありますので、プログラム・ソースと同じフォルダーにコピーしてから
  コンパイルして下さい。
BASCOM-AVR 付属フォント (各種サイズあり)
例 C:\MCS\BASCAVR2085\Samples\LCDGRAPH\font8x8TT.font
例 C:\MCS\BASCAVR2085\Samples\LCDGRAPH\font8x8.font
例 C:\MCS\BASCAVR2085\Samples\LCDGRAPH\KS108.bgf

 ・OLED内のメモリーが読み出せないため、「LINE」や「PSET」命令は使用できません。
 ・「Lcdat」命令の追加オプションとして、アンダーラインが描画可能です。
   1:反転表示 , 2:実線のアンダーライン , 3:点線のアンダーライン
 ・「Const Ssd1309_rotate = 1」行を記述すると、OLEDの設置方向を回転させることができます。
   (この行を記述すると、接続ケーブルが右側になるように配置できます)
 ・OLEDのコントラストは、下記命令で変更が可能です。
   「_contrast = XX : Glcdcmd &H81」  XXは0〜255 (薄い〜濃い)
 ・テストで使用した白色OLEDは、コントラストの設定で大きな変化はありませんでしたが、他のタイプ
  では、消灯〜最大輝度まで変化するパネルもあります。

 ・ 「Const Ssd1309_sa0 = 0」行では、SSD1309のスレーブ・アドレスを選択できます。
   (0:SA0=[L] 78H , 1:SA0=[H] 7AH)
 ・電源の立ち上がりが遅い場合などは、リセット端子[RES]も制御が必要です。
  (リセット端子[RES]を使用しない場合に、電源ON時に何度か初期化されないことがありました)





   電子工作の部屋 Top へ 前のページへ戻る