PICBASICコンパイラ
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第44回]
●LCD表示器に表示できる文字
前回はPRINT文でCHR$()を使いFOR NEXT文を使ってPICターゲットボードに接続したLCD表示器に文字を表示しました。
LCD表示器は80桁表示なのでそれを越える文字を表示しようとすると80字を越える文字は先頭に戻って先に表示した文字を上書きしてしまいます。
表示する文字数を80字よりも少ない文字数にしたとしてもLCD表示器に対するPRINT文では改行の機能が働きませんから、先に表示した最後の桁位置から次の表示を続けてしまいます。
その結果はやはり80桁を越える文字は先頭位置に戻ってそこで先に表示されていた文字を上書きすることになってしまいます。
これを避けるにはLCD表示器についてせめて表示クリアの機能とカーソルをホームポジションにセットする機能は必要でありましょう。
そのように考えてPICBASICコンパイラではLCD表示器専用の命令を作りました。
その命令について詳しくは次回に説明をすることにします。
今回はPICBASICコンパイラに新規に組み込んだLCD表示器用の命令を前回のプログラムに追加することでLCD表示器に表示できる文字の全てを上書きすることなく表示するプログラムを作成して実行します。
LCDに一度に表示する文字数ですが前回書きましたように英数記号で96文字、カナ記号も96文字ですからどちらも80字を越えてしまいます。
一度に表示する文字数を80字以下にすることは絶対的な条件です。
80字以下ならよいので英数記号もカナ記号もそれぞれ2回に分けて48字ずつ表示することにしました。
英数記号の前半48文字を表示するプログラムです。
6行の
LCC 1
がLCDの表示クリア及びカーソルホームポジションセット命令です。
この命令については次回に説明します。
文字コード$20〜$4FをLCD表示器に送ります。
上のプログラムを実行したときのLCD表示の写真です。
$20はスペースの16進数コードで$4Fは’O’の文字コードです。
英数記号の後半48文字を表示するプログラムです。
LCC 1はLCDの表示クリア及びカーソルホームポジションセット命令です。
文字コード$50〜$7FをLCD表示器に送ります。
上のプログラムを実行したときのLCD表示の写真です。
$50は’P’の文字コードで$7Fは’←’の文字コードです。
カナ記号の前半48文字を表示するプログラムです。
LCC 1はLCDの表示クリア及びカーソルホームポジションセット命令です。
文字コード$A0〜$CFをLCD表示器に送ります。
上のプログラムを実行したときのLCD表示の写真です。
$A0はスペースの文字コードで$CFは’マ’の文字コードです。
カナ記号の後半48文字を表示するプログラムです。
LCC 1はLCDの表示クリア及びカーソルホームポジションセット命令です。
文字コード$D0〜$FFをLCD表示器に送ります。
上のプログラムを実行したときのLCD表示の写真です。
$D0は’ミ’の文字コードで$FFは’■’の文字コードです。
LCD表示器のキャラクタコード表です。
[出典]Sitronix Technology Co.,Ltd. ST7066 Datasheet
PICBASICコンパイラ[第44回]
2023.7.1upload
前へ
次へ
ホームページトップへ戻る