
■ BASCOM-AVR (DEMO) の使用方法 ■ |
グラフィックLCD関連の命令 |
● グラフィック・タイプの液晶表示器を、制御する命令です。 |
CONFIG GRAPHLCD |
グラフィックLCDを接続する、ポートとピンを指定します。 |
CLS |
グラフィックLCD画面を、消去します。 |
LINE |
グラフィックLCDに、直線を描画します。 |
CIRCLE |
グラフィックLCDに、円を描画します。 |
BOX |
グラフィックLCDに、ボックスを描画します。 |
BOXFILL |
グラフィックLCDに、塗りつぶしのボックスを描画します。 |
PSET |
グラフィックLCDに、1ピクセルの点を描画します。 |
SETFONT |
文字フォントを持たないグラフィックLCD用に、フォント・データを定義します。 |
LCDAT |
グラフィックLCDに、変数の値または文字列を描画します。 |
SHOWPIC |
グラフィックLCDに、BGFファイル(BMPを圧縮した画像)を描画します。 |
SHOWPICE |
グラフィックLCDに、EEPROMに置かれたBGFファイル(圧縮画像)を描画します。 |
GLCDCMD |
グラフィックLCDの、インストラクション・レジスターに、コマンドを送ります。 |
GLCDDATA |
グラフィックLCDの、データ・レジスターに、データを送ります。 |
CONFIG GRAPHLCD |
一覧へ戻る |
グラフィックLCDを接続する、ポートとピンを指定します。
書式 |
T6963Cチップ
Config Graphlcd = type , Dataport = PORT , Controlport = PORT ,
Ce = PN , Cd = PN , Wr = PN , Rd = PN , Reset = PN , Fs = PN ,
Mode = mode
KS0108チップ
Config Graphlcd = type , Dataport = PORT , Controlport = PORT ,
Ce = PN , Ce2 = PN , Cd = PN , Rd = PN , Reset = PN , Enable = PN |
注釈 |
type = |
画素構成 (240X64 , 128X128 , 128X64 , 160X48 , 240X128 , 192X64
SED180X32 , 192X64SED) ドット |
SEDディスプレイの場合: 128X64sed , 120X64SED , SED180X32
132x132カラーディスプレイの場合: COLOR
EADOG128x64の場合:128X64EADOGMを使用。
SSD1325 96x64の場合:96X64SSD1325を使用。
(SSD1325libを参照)
カスタムライブラリの場合:CUSTOM
カスタムLCDのオプションは次のとおりです。
・cols = ピクセル単位の列数。
・rows = ピクセル単位の行数。
・kind = lcdを指定する任意の数
・ lcdname = LCDを識別するオプションの名前。 |
|
PORT = |
Dataport:データ線(DB0〜DB7)を接続するポート名 (例 PORTC) |
Controlport:コントロール線を接続するポート名 (例 PORTD) |
|
PN = |
コントロール線を接続するピン番号 (0〜7) |
|
mode = |
キャラクタ表示機能を搭載しているLCDの場合に、行数 |
|
・Ce (Ce2) = CS (CS1,CS2) チップ・セレクト信号。
・Cd = D/I , RS データ/インストラクション切換信号。
・Wr = WR ライト信号。
・Rd = RD , R/W リードまたはリード/ライト切換信号。
・Reset = RES , RST リセット信号。
・Fs = フォント・セレクト信号。
・Enable = E イネーブル信号。
・KS0108チップやSEDチップのLCDを使用する場合は、ライブラリ・ファイルが必要です。
(記述例)
Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Portd
, Ce = 2 , Ce2 = 3 , Cd = 6 , Rd = 5 , Reset = 4 , Enable = 7
|
CLS |
一覧へ戻る |
グラフィックLCD画面を、消去します。
書式 |
Cls type
Cls Y , Xsta , Xend [, pattern] |
注釈 |
type = |
なし |
- グラフィックとテキストの両画面をすべて消去します。 |
Graph |
- グラフィック画面をすべて消去します。 |
Text |
- テキスト画面をすべて消去します。 |
|
グラフィック画面に書かれた文字を、ブロック消去します。
Y |
= 文字単位のY座標(行)。 (1〜) 最大値はLCDに依存 |
Xsta |
= ブロック消去を開始するX座標。 (1〜)最大値はLCDに依存 |
Xend |
= ブロック消去を終了するX座標。 (1〜)最大値はLCDに依存 |
pattern |
= 消去のために書き込むパターンデータ。 オプション (省略時は00) |
|
・Graph、Textは、グラフィックLCD内に、テキスト表示用のフォントを搭載している機種にのみ有効です。
・フォントの搭載が無い機種では、Clsだけでグラフィック表示がすべて消えます。
・ブロック消去命令は、EADOG128とKS108コントローラに対応しています。
|
LINE |
一覧へ戻る |
グラフィックLCDに、直線を描画します。
書式 |
Line(Xsta , Ysta) -(Xend , Yend) , color |
注釈 |
Xsta , Ysta |
= 直線の開始座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 ) |
Xend , Yend |
= 直線の終了座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 ) |
color |
= 直線の色 (モノクロLCDでは、0または1) |
|
・座標には、数値または変数が使用できます。
|
CIRCLE |
一覧へ戻る |
グラフィックLCDに、円を描画します。
書式 |
Circle(X , Y) , radius , color |
注釈 |
X , Y |
= 円の中心座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 ) |
radius |
= 円の半径。 |
color |
= 円の色 (モノクロLCDでは、0または1) |
|
・塗りつぶしはできないので、半径を増減して円を上書きすることで、塗りつぶしの円が描画できます。
・座標には、数値または変数が使用できます。
|
BOX |
一覧へ戻る |
グラフィックLCDに、ボックスを描画します。
書式 |
Box(Xl , Yt) -(Xr , Yb) , color |
注釈 |
Xl , Yt |
= ボックスの左上座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 ) |
Xr , Yb |
= ボックスの右下座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 ) |
color |
= ボックスの色。 |
|
・指定された色により、ボックスを描画します。 (モノクロLCDの場合は、0 か 1)
・座標には、数値または変数が使用できます。
|
BOXFILL |
一覧へ戻る |
グラフィックLCDに、塗りつぶしのボックスを描画します。
書式 |
Boxfill(Xl , Yt) -(Xr , Yb) , color |
注釈 |
Xl , Yt |
= ボックスの左上座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 ) |
Xr , Yb |
= ボックスの右下座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 ) |
color |
= ボックスの塗りつぶし色。 |
|
・指定された色により、塗りつぶされたボックスを描画します。 (モノクロLCDの場合は、0 か 1)
・座標には、数値または変数が使用できます。
|
PSET |
一覧へ戻る |
グラフィックLCDに、1ピクセルの点を描画します。
書式 |
Pset X , Y , value |
注釈 |
X , Y |
= 点を描画する座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 ) |
value |
= ピクセルの値。 (1=描画 , 0=消去) |
|
・座標には、数値または変数が使用できます。
|
SETFONT |
一覧へ戻る |
文字フォントを持たないグラフィックLCD用に、フォント・データを定義します。
書式 |
Setfont font |
注釈 | font = フォント・データが置かれた行の、ラベル名を指定します。 |
・BASCOM-AVRのライブラリ内のフォントを使用するか、フォント・エディターでオリジナル・フォントを
作成することもできます。
・$include命令で、フォント・ファイルをプログラムに組み込みます。
・フォント・ファイルは、END命令の後に組み込みます。
|
(例) |
|
Setfont Font8x8 |
' フォント・データの位置(ラベル)を指定。 |
Lcdat 1 , 1 , "123" |
' グラフィックLCDに、文字"123"を描画。 |
End |
' プログラムの終了。 |
$include "font8x8.font" |
' フォント・ファイルを組み込む。 |
|
・フォント・ファイルは、下記にありますので、プログラム・ソースと同じフォルダに置いて下さい。
C:\Program Files\MCS Electronics\BASCOM-AVR\SAMPLES\LCDGRAPH\
|
LCDAT |
一覧へ戻る |
グラフィックLCDに、変数の値または文字列を描画します。
書式 |
Lcdat Y , X , Variable , inv |
注釈 |
Y |
= 文字を描画する行。 (1〜) 最大値はLCDに依存 |
X |
= 文字を描画する水平座標(ピクセル)。 (1〜) 最大値はLCDに依存 |
Variable |
= 変数名 または "文字列" |
inv |
= 反転文字にします。 (0以外の数値で反転) |
|
・座標には、数値または変数が使用できます。
・Yはピクセル単位ではなく、行単位です。 (KS0108チップの場合)
|
(例) |
|
Setfont Font8x8 |
' フォント・データの位置(ラベル)を指定。 |
Lcdat 1 , 1 , "123" |
' グラフィックLCDに、文字"123"を描画。 |
End |
' プログラムの終了。 |
$include "font8x8.font" |
' フォント・ファイルを組み込む。 |
|
・フォント・ファイルは、下記にありますので、プログラム・ソースと同じフォルダに置いて下さい。
C:\Program Files\MCS Electronics\BASCOM-AVR\SAMPLES\LCDGRAPH\
|
SHOWPIC |
一覧へ戻る |
グラフィックLCDに、BGFファイル(BMPを圧縮した画像)を描画します。
書式 |
Showpic X , Y , label |
注釈 |
X , Y |
= 画像の描画を開始する座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 ) |
label |
= BGFファイルを組み込んだ、ラベル名 |
|
・座標には、数値または変数が使用できます。
・BMPファイルを、付属のツール「グラフィック・コンバーター」により、BGFファイルに変換します。
・座標 Y は、0または8の倍数でなければなりません。 (KS0108チップの場合)
・また、画像の高さと幅も、8の倍数でなければなりません。 (詳細不明)
・$BGF命令により、BGFファイルをプログラムに組み込み、その場所にラベルを付けます。
・複数の画像を、組み込むこともできます。
・「$bgf」ファイルは、必ず「End」命令の後に記述して下さい。(プログラムが暴走します)
|
(例) |
|
Showpic 0 , 0 , Plaatje |
' BGFファイルを描画します。 |
End |
' プログラムの終了。 |
Plaatje: |
' BGFファイルのラベル名 |
$bgf "KS108.bgf" |
' BGFファイルを組み込みます。 |
|
・サンプルのBGFファイル"KS108.bgf"は、下記にありますので、プログラム・ソースと同じフォルダに
置いて下さい。
C:\Program Files\MCS Electronics\BASCOM-AVR\SAMPLES\LCDGRAPH\
|
SHOWPICE |
一覧へ戻る |
グラフィックLCDに、EEPROMに置かれたBGFファイル(BMPを圧縮した画像)を描画します。
書式 |
Showpice X , Y , label |
注釈 |
X , Y |
= 画像の描画を開始する座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 ) |
label |
= BGFファイルを指定する、ラベル名 |
|
・BGFファイルの組み込み先が、フラッシュメモリーからEEPROMに変えられます。
・BGFファイルは、SHOWPICE命令の前に、指定されなければなりません。
(これは、組み込みではなく「指定」になるためです)
・詳細はSHOWPIC命令と同じです。
|
(例) |
|
$eeprom |
' BGFファイルの組み込み先を、EEPROMに設定。 |
Testpic: |
' BGFファイルのラベル名。 |
$bgf "tp.bgf" |
' BGFファイルを指定します。 |
$data |
' DATA行の扱いを通常に戻します。 |
Showpice 0 , 0 , Testpic |
' BGFファイルを描画します。 |
End |
' プログラムの終了。 |
|
・"tp.bgf"は、各自でBGFファイルを作って下さい。
EEPROMファイルの書き込み方法
・上記のプログラムをコンパイルすると、「プログラム名.EEP」と言うファイルが、プログラムと同じ
フォルダー内に出来上がります。
・BASCOM-AVR付属の書込ソフトでは、このEEPファイルを直接EEPROMに書き込めます。
・他のライターを使用する場合は、HEXファイルが必要になりますので、「$eeprom」命令の下に、
「$eepromhex」命令を追加して下さい。
・この命令を追加すると、「プログラム名.EEP」ファイルの中身が、HEX形式に変わります。
・拡張子が対応できない場合は、「プログラム名.EEP」を「別名.HEX」に改名して下さい。
|
GLCDCMD |
一覧へ戻る |
グラフィックLCDの、インストラクション・レジスターに、コマンドを送ります。
書式 |
Glcdcmd byte , Ce |
注釈 |
byte |
= グラフィックLCDに送るコマンド。 (数値 または 変数) |
Ce |
= チップが複数ある場合のオプション。 (1=CS1 , 2=CS2) |
|
・BASCOM-AVRの、命令に無いコマンドを送る場合にも使用できます。
・複数のチップを搭載しているLCDには、それぞれにコマンドを送る必要があります。
|
(例 KS0108チップ) |
|
Glcdcmd &H3E , 1 : Glcdcmd &H3E , 2 |
' LCD画面全体をオフにします。 |
Glcdcmd &H3F , 1 : Glcdcmd &H3F , 2 |
' LCD画面全体をオンにします。 |
End |
' プログラムの終了。 |
|
|
GLCDDATA |
一覧へ戻る |
グラフィックLCDの、データ・レジスターに、データを送ります。
書式 |
Glcddata byte , Ce |
注釈 |
byte |
= グラフィックLCDに送るデータ。 (数値 または 変数) |
Ce |
= チップが複数ある場合のオプション。 (1=CS1 , 2=CS2) |
|
・GLCDCMD命令でアドレスをセットし、この命令でデータを送ります。
・複数のチップを搭載しているLCDには、それぞれにコマンドを送る必要があります。
|
|