目次>6章 第3ステップ(実用品)

1ピンで液晶ディスプレイを制御 
簡易版
(シリアル制御LCD)<PIC16F84A>PICC-Lite
更新日2008.1.14

液晶ディスプレイ(LCD)をPICで扱うには、データ信号で4ピン(または8ピン),制御信号で3ピン(または2ピン)の最低6ピンが必要になります。
使用するPICが、PIC16F877AなどのようにI/Oピンが多ければさほど問題にはなりませんが、8ピンPIC(PIC12F683,PIC12F675など)では制御できません。

そこで、1ピンでLCDに表示できる装置を作成しましたので紹介します。
「シリアル制御LCD」と命名しました。
8ピンPICでもLCDが扱えるので、デバッグなどに重宝しています。

液晶ディスプレイ(LCD)とは

PICで扱える液晶ディスプレイ(LCD)は、英数字や記号などの文字が表示できる比較的小さなもので、いくつかの種類があります。

上の小さい方は、16文字×2行のタイプ

下は、20文字×4行タイプ

16文字×2行のLCDに文字を表示させた状態

シリアル制御LCDの概要
LCDそのものは、制御に最低6ピン必要ですのでPIC16F84Aで制御します。
PIC16F84AのRB7に外部からシルアルインタフェース(RS232C風)で情報を入力し、LCDに表示します。
(RB7はピン変化割込みとして使用しました。)

下の図の黄色の範囲が、今回紹介する装置です。

LCD制御データはRS232Cと同じで、以下のフォーマットにしました。

スタートビット(1ビット:H) + データ1バイト(8ビット) + ストップビット(1ビット:L)

回路
回路図は以下の通りです。
右端の「input」にLCD表示用の情報を与える事でLCDを制御します。

実験風景

ブレッドボードに組んで動作確認をしました。

一番左の黒い四角はLCDのソケットです。
真ん中は、今回のLCD制御に使ったPIC16F84Aで、一番右はドライバとして使ったPIC16F84Aです。

LCDを乗せた状態。

組み立て
LCDが収まる、できるだけ小さめのケースに組み込みました。

茶色のプリント板は、LCDの右側を固定するために使っています。

見た目は良くありませんが、ふたをすれば見えなくなりますので・・・

LCDを取り付けたところ
ふたをするとこんな風になります。
動作確認。

小さなブレッドボードにPIC12F683でドライバを作成し動作を確認しました。
PIC12F683のGPIO0(AN0)に可変抵抗を接続しA/D変換して、その結果をシリアル制御LCDで表示しています。

ケーブルは、4線のフラットケーブルを使いましたが、1本は未使用です。
5V電源を外部から供給しますので、USBケーブルにするのも良いでしょう。

プログラム
プログラムはこちらです。(PICC−Liteで開発)

通信速度は以下の6種類で、RA3のPBSで切り替えます。
設定値はEEPROMに記録し、電源投入時は前回の設定速度で初期化します。

4,800bps
9,600bps
19,200bps
28,800bps
38,400bps
57,600bps

タイミングの時間は、TMR0割込みを使っています。