【概要】
RS232Cシリアルインターフェースで送信されてくるデータを液晶表示器に
表示するためのユニットです。
USARTを内蔵するPIC16F627A/628Aで制御しています。
【構成と回路図】
構成は至って簡単で、PIC16F627AまたはPIC16F628Aに液晶表示器を
直接接続し、USARTのポートにRS232C用インターフェースICを接続して
直接パソコンや他の製作例のシリアル出力のデバイスを接続します。
これをベースにして作成した回路図が下図となります。動作目印用のLED
を2個追加しています。
液晶表示器のコントラスト調整用の可変抵抗は、基板には実装せず、液晶表示器
本体に直接取り付けてしまいました。
RS232C用のコネクタは本来はDSUBタイプが必要なのですが、大型になるので
変換用のコネクタケーブルを使う前提で、小型のコネクタにしています。
電源は全体で16mA程度の消費電流なので、9Vの乾電池を使うことにしました。
クロックは通信速度を高速にできるよう最高速度の20MHzにしましたが、9600bps
程度であれば4MHz程度でも問題ありません。この方が消費電流も少なくできて
良いでしょう。
【ハードウェア製作】
製作には基板が必要ですが、プリント基板を作るほどでも無いので、EジスPenで
作成しました。簡単にお絵かきで作成できるのでこういうときには便利です。
できあがった基板は写真のようになります。
左側のコネクタが液晶表示器用です。
上側に電源部、中央にPICとLEDがあります。
右側がRS232C用のICとコネクタです。
ジャンパ線がいくつかありますが、少し浮かせて
ランドとショートしないようにします。
パターン図は下図となっています。
液晶表示器の右側半分は省略しています。
液晶表示器を接続した状態が下記のようになります。
液晶表示器はコネクタに挿入して半固定します。
輝度調整用の可変抵抗は直接はんだ付けしています。
これをアクリルケースに実装して完成です。
【プログラム製作】
このプログラムはCCS社のC言語で作成しました。RS232Cが数行で記述できて
しまいますので、こういうときには非常に便利です。
下記リストがメイン部分の全体で非常に簡単です。
最初に#use文でRS232Cなどを使う宣言をします。変数宣言とプロトタイピングを
したあとメインルーチンに入ります。
メインルーチンでは初期化をし液晶表示器に開始メッセージを出してからRS232Cの
受信待ちとなります。
文字を受信したら、制御コードを判定し、制御コードであれば液晶の制御を行い、
その他の文字コードであれば表示データとして出力します。
文字コードの制御コードとして下記の3種類を使っています。この制御コードで
あればパソコンのハイパーターミナルで受信しても変な文字を表示しないので
これを使うことにしました。
0x1C : 液晶表示器の全消去
0x1D : 1行目の先頭に移動
0x1E : 2行目の先頭に移動
あとは実際の液晶表示器の制御関数群で、下記リストのようになっています。
専用の関数としていますのでポートなどを特定しています。
★★ プログラムダウンロード