
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」と共用です。
注意! この図面を使用した、いかなる損害にも責任を負いません。
※ 回路設計上の注意
・この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チップおよびポートやピンの配置は変更が可能です)
・KS0108チップ用ライブラリは、チップセレクト信号(Ce,Ce2)が[L]アクティブの仕様になって
いるので、「Config Graphlcd」命令のピン指定で逆に設定しております。
・フォント・ファイルは下記のフォルダー内にありますので、プログラム・ソースと同じフォルダーに
コピーしてからコンパイルして下さい。
BASCOM-AVR 付属フォント (各種サイズあり) |
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\font8x8.font |
|
● SHOWPIC命令を使用した、サンプル画像を描画するプログラム
・グラフィックLCDに、BGFファイル(BMPを圧縮した画像)を描画します。
・サンプルのBGFファイル"KS108.bgf"は、下記にありますので、プログラム・ソースと同じフォルダに
置いて下さい。 表示見本
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\KS108.bgf |
● SHOWPICE命令を使用した、EEPROMに置かれた画像を描画するプログラム
・グラフィックLCDに、EEPROMに置かれたBGFファイル(BMPを圧縮した画像)を描画します。
・"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」と共用です。
注意! この図面を使用した、いかなる損害にも責任を負いません。
※ 回路設計上の注意
・この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
・プログラム内のライブラリ指定を下記にして下さい。
$lib "glcdKS108-SG12232C.LBX"
・Config Graphlcd命令は、KS0108と同じです。
・フォント・ファイルは下記のフォルダー内にありますので、プログラム・ソースと同じフォルダーに
コピーしてからコンパイルして下さい。
BASCOM-AVR 付属フォント (各種サイズあり) |
ドキュメント\MCS Electronics\BASCOM-AVR\samples\lcdgraph\font8x8.font |
|

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

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チップおよびポートやピンの配置は変更が可能です。
注意! この図面を使用した、いかなる損害にも責任を負いません。
|
●描画テストプログラム
・以下のライブラリー・ファイルを、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\
に保存して下さい。 glcdEADOGS102_V2.LBX
・プログラム内のライブラリ指定を下記にして下さい。
$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チップおよびポートやピンの配置は変更が可能です。
注意! この図面を使用した、いかなる損害にも責任を負いません。
|
●描画テストプログラム
・以下のライブラリー・ファイルを、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\
に保存して下さい。 glcdAQM1248A.lbx
・プログラム内のライブラリ指定を下記にして下さい。
$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モジュール基板に実装済みなので不要です。
注意! この図面を使用した、いかなる損害にも責任を負いません。
|
●描画テストプログラム
・以下のライブラリー・ファイルを、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\
に保存して下さい。 glcdSSD1306-I2C_V2.lib
・「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
 |
・電源および[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チップおよびポートやピンの配置は変更が可能です。
注意! この図面を使用した、いかなる損害にも責任を負いません。
|
●描画テストプログラム
・以下のライブラリー・ファイルを、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIB\
に保存して下さい。 glcd-Nokia3310_V2.lib
・プログラム内のライブラリ指定を下記にして下さい。
$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ピンのタイプがあります。
・コネクターの位置がこのテストで使用したモジュールと違うタイプの製品もありますが、同様に
制御できると思います。
SPIで複数台接続する場合。
I2C,TWIで複数台接続する場合。
注意! この図面を使用した、いかなる損害にも責任を負いません。
|
●描画テストプログラム
・以下のライブラリー・ファイルを、BASCOM-AVRをインストールしたフォルダ内のLIBフォルダに
保存して下さい。 (例 C:\MCS\BASCAVR2085\LIB\)
SPI用 glcdSSD1309-SPI_V2.lib I2C,TWI用 glcdSSD1309-I2C_V2.lib
スタンダードAVRのテスト。 (SPI、I2C、TWI 用)
SPI接続で複数LCDのテスト。
I2C,TWI接続で複数LCDのテスト。
USI接続のテスト。
USI接続で複数LCDのテスト。
Xmegaのテスト。(SPI、I2C、TWI 用) (BASCOM-AVR(製品版)が必要です)
XmegaのI2Cで複数LCDのテスト。 (BASCOM-AVR(製品版)が必要です)
XTINYのテスト。(SPI、I2C、TWI 用)(BASCOM-AVR(製品版)とXTINY Add Onが必要です)
XTINYのI2Cで複数LCDのテスト。(BASCOM-AVR(製品版)とXTINY Add Onが必要です)
・「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時に何度か初期化されないことがありました)
|

3.12インチ 256x64ドット OLED (有機ELディスプレイ) |
・このOLEDは、3線式SPI、4線式SPIまたは8-bitのパラレル接続で制御します。 ・インターフェースの選択は、回路図に記載のR5,R6,R7,R8のジャンパーの設定で行います。
(モジュールの背面にある4つのジャンパーをハンダでショートさせて選択します)
・SPIのクロック速度は最大10MHz、 パラレル接続は8080CPUの/WRと/RDで制御します。
・AVRマイコンからは、SPIで3または4個のポート、8bit-パラレルで12個のポートが必要です。
(電源の立ち上がりが遅い場合などは、リセット端子[RES]も制御が必要です)
・描画の速度は、3線式SPI、4線式SPI、8bit-パラレルの順に速くなります。
・SPIモードでは、コントローラー内の表示RAMの読み出しができない仕様のため、
グラフィック命令のLINE、BOX、CIRCLE命令などは使用できません。
・表示する画面構成と配線数やポート数の制限により、各モードを選んでください。
・モジュールには3.3Vの電源レギュレータが搭載されているので5V電源も入力可能ですが、
OLEDコントローラのインターフェースは3.5Vが上限なので、5V電源で使用する場合は
各制御線にレベル変換が必要になります。
・AVRチップおよびポートやピンの配置は変更が可能です。
注意! この図面を使用した、いかなる損害にも責任を負いません。
|
●描画テストプログラム
・以下のライブラリー・ファイルを、BASCOM-AVRをインストールしたフォルダ内のLIBフォルダに
保存して下さい。 (例 C:\MCS\BASCAVR2085\LIB\)
SPI用 glcdSSD1322-SPI.lib 8bit-パラレル用 glcdSSD1322-Para.lib
3線式SPI、4線式SPIモードのテスト。
8bit-パラレル モードのテスト。
テスト用のフォントと画像
・3線、4線式SPIと8bit-パラレルのプログラムは、上記別々のライブラリを使用します。
・「Const Rotate_180 = 0」行で、OLED画面の設置方向(180度回転)を選択できます。
(0:コネクターが右側で設置、 1:コネクターが左側で設置)
・SPIモードでは、「Const Spi_wire_selection = 4」行で、SPI接続の線数を選択できます。
(3 = 3線式 描画速度は低速)、 4 = 4線式 描画速度は少し速くなる)
・AVRのポートは、任意で変更が可能です。 「Config Graphlcd」命令でポートを指定してください。
・フォント・ファイルと画像のbgcファイルは、プログラム・ソースと同じフォルダーにコピーしてから
コンパイルして下さい。
・フォントは、カラー表示用の横8ドットの倍数タイプを使用します。 (横6ドットなどは使用不可)
・白黒用のフォントを流用する場合は、「Color_Font_Converter.exe」を使用してフォントファイルを
変換してください。 (横8,16,24〜の8ドット単位のフォントのみ変換可能)
・描画命令の使用方法は、テストプログラムの冒頭に記載してあります。 ・SPIモードでは、コントローラー内の表示RAMの読み出しができない仕様のため、
グラフィック命令の「LINE、BOX、CIRCLE」命令などは使用できません。
・表示する画面構成と配線数やポート数の制限により、各モードを選んでください。
・BMPやJPEG画像からRLE圧縮形式のBGC画像データを作成して、白黒の画像が表示できます。
・BGC画像データは、LCD RGB-8 converter [LCDconvert.exe]を使用して作成します。
ビットマップ(.BMP)または JPEG(.JPG)画像データを、表示させたいドット数に縮小して
用意します。
「LCDconvert」を起動して、用意した画像データを開きます。
[File] → [Convert] をクリックして、BGCデータへの変換を行います。
[File] → [Save] → [Save Binary] で、BGCデータをプログラムと同じフォルダーに保存します。
・8bitのBGCフォーマットのRGB8コード(RRRG_GGBB)から、グレースケールの4ビット輝度値
(0〜15)に対応させるテーブルを使用して、色の配置とグレースケールの濃度を調整できます。
・OLEDのコントラストは、下記命令で変更が可能です。
「Glcdcmd &HC1 : Glcddata XX」 XXはコントラスト値。 (0〜255 薄い〜濃い)
・コントローラをスリープモードにすると、画面を使用しない時に消費電力を削減できます。
「Glcdcmd &HAE」 スリープモードON。(表示OFF)
「Glcdcmd &HAF」 'スリープモードOFF。(表示ON)
・画面全体の白黒を反転することができます。
「Glcdcmd &HA7」 反転表示にする。
「Glcdcmd &HA6」 通常表示に戻す。
|
|