<PIC16F689のLCD 8bit処理>

「PIC液晶表示回路」では4bit処理でしたが、今回は8bit処理で動かしました。
8bit処理は、データ線が8本必要ですがPIC16F688は、8本連続したポートがないので
RC0-RC7の8本あるPIC16F689を使いました。(今回はセラミック発振子を使いました)
下の画像はブレッドボードで組立た様子です。
4bit処理に比べて、8bit処理はデータ線が8本、セラミック発振子20MHzの接続で更に2本増えて
線がごちゃごちゃします。しかし、プログラムが4bit処理に比べて楽です。
下の画像をクリックしますと、動画で表示の様子が分かります。よく見ていただくと
4bit処理では、問題ないのですが、右の8bit処理は、最初2行目左端にPSE Kの表示が出てから
CQ CQ DE JA3RUA PSE Kが出ます。(>_<)この原因は、LCDの書込みタイミングのようです。
そこで、内部発振31KHz、セラミック発振子20MHzでも安定動作するようにタイミングを修正しました。
8it処理 ソースと新8it処理 ソースを見比べて下さい、__delay_us、__delay_msの値が違います。

 4bit処理(内部発振31KHz)                                    8it処理(セラミック発振子20MHz)左の4bitと同じ書込みタイミング
 

PIC16F689 ×1
SC1602BSLB ×1
4.7k  L  ×1
VR20K    ×1
(8bit回路図はセラミック発振子20MHz ×1必要)


回路図 4bit (内部発振31KHz)


4bit処理 ソース(HITEC-C)
4it処理 HEXファイル
回路図 8bit(セラミック発振子20MHz) 8it処理 ソース(HITEC-C)
8it処理 HEXファイル
8it処理(セラミック発振子20MHz)書込みタイミング変更 回路図は、上の 8bit(セラミック発振子20MHz)参照 新8it処理 ソース(HITEC-C)
新8it処理 HEXファイル
基板上に組立てました。 PICのEEPROMに書いた文字を表示します。画像をクリックして見て下さい。 PIC16F689 LCD ソース(HITEC-C)
PIC16F689 LCD HEXファイル