■ 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の、データ・レジスターに、データを送ります。


グラフィックLCDの、表示テスト・プログラム
・下記ページに、グラフィックLCDの接続方法と、
 サンプル・プログラムがあります。
 
    AVRにグラフィックLCDを接続

 ○ グラフィックLCDに使用する、オリジナル・フォントを作成するためのエディター。
 
   グラフィック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の場合に、行数

参照 $LIB

 
・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)

 
GraphTextは、グラフィック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)

参照 BOX , CIRCLE , PSET , BOXFILL

 
・座標には、数値または変数が使用できます。



CIRCLE 一覧へ戻る
グラフィックLCDに、円を描画します。

書式 Circle(X , Y) , radius , color
注釈
X , Y = 円の中心座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 )
radius = 円の半径。
color = 円の色 (モノクロLCDでは、0または1)

参照 LINE , BOX , PSET , BOXFILL

 
・塗りつぶしはできないので、半径を増減して円を上書きすることで、塗りつぶしの円が描画できます。
・座標には、数値または変数が使用できます。



BOX 一覧へ戻る
グラフィックLCDに、ボックスを描画します。

書式 Box(Xl , Yt) -(Xr , Yb) , color
注釈
Xl , Yt = ボックスの左上座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 )
Xr , Yb = ボックスの右下座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 )
color = ボックスの色。

参照 LINE , CIRCLE , PSET

 
・指定された色により、ボックスを描画します。 (モノクロLCDの場合は、0 か 1)
・座標には、数値または変数が使用できます。

 


BOXFILL 一覧へ戻る
グラフィックLCDに、塗りつぶしのボックスを描画します。

書式 Boxfill(Xl , Yt) -(Xr , Yb) , color
注釈
Xl , Yt = ボックスの左上座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 )
Xr , Yb = ボックスの右下座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 )
color = ボックスの塗りつぶし色。

参照 LINE , CIRCLE , PSET

 
・指定された色により、塗りつぶされたボックスを描画します。 (モノクロLCDの場合は、0 か 1)
・座標には、数値または変数が使用できます。



PSET 一覧へ戻る
グラフィックLCDに、1ピクセルの点を描画します。

書式 Pset X , Y , value
注釈
X , Y = 点を描画する座標。 (X=水平位置 , Y=垂直位置) (0 , 0 〜 )
value = ピクセルの値。 (1=描画 , 0=消去)

参照 LINE , BOX , CIRCLE

 
・座標には、数値または変数が使用できます。



SETFONT 一覧へ戻る
文字フォントを持たないグラフィックLCD用に、フォント・データを定義します。

書式 Setfont font
注釈 font = フォント・データが置かれた行の、ラベル名を指定します。

参照 $include , LCDAT

 
・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以外の数値で反転)

参照 $include , SETFONT

 
・座標には、数値または変数が使用できます。
・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ファイルを組み込んだ、ラベル名

参照 $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ファイルを指定する、ラベル名

参照 SHOWPIC , $EEPROM , $BGF , $EEPROMHEX

 
・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)

参照 GLCDDATA

 
・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

 
・GLCDCMD命令でアドレスをセットし、この命令でデータを送ります。
・複数のチップを搭載しているLCDには、それぞれにコマンドを送る必要があります。





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