幼稚園時代「何組」でしたか?

初心者なのですが、PICマイコンでLCD表示に挑戦したいと思っています。
そこで皆さんにお聞きしたいのですが、プロットボード上にPIC16F873を利用して回路を作成したのですが、何も表示されずただ■■■■■■が表示されるのみです。
何が原因なのか全然わからないので皆さんのご意見をお聞きしたいのですが・・・。 よろしくお願いします。
LCD
Vdd・・・5V
Vss・・・GND
Vo・・・・20KΩ可変抵抗
RS・・・・RB3
R/W・・・RB2
E・・・・・RB1
DB0、DB1、DB2、DB3・・・GND
DB4・・・RB4
DB5・・・RB5
DB6・・・RB6
DB7・・・RB7
PIC
MCLR/Vpp・・・5V
Vss・・・GND
OSC1・・12.8MHz
VDD・・・5V
このような感じです。
プログラムは以下のHPを参考にさせて頂きました。
http://speana-1.hp.infoseek.co.jp/lcd/lcd_4/lcd_ …

A 回答 (1件)

使用しているLCDモジュールが、コントローラーにHD44780U互換のものを使用していると想定して解答します。



このモジュールは、電源だけをONにして初期化を行わない(もしくは、正しく初期化を行わない)と、■■■■■■が表示される状態になります。
多くの場合、LCDモジュールの初期化の失敗は信号のタイミングを正しく制御できていないのが原因です。
正しいタイミングはLCDモジュール(もしくは、コントローラーチップ)の仕様書やデータシートに書かれています。
HD44780Uのデータシートは、オークス電子のページにあるものを見ればいいでしょう。
データシート(英文) http://www.oaks-ele.com/oaks8/cd-rom_ver2/HD4478 …

このデータシートには、制御信号の変化のさせ方が、58ページ Timing CharacteristicsのFigure 25,26に記述されています。49ページ Bus Timing Characteristicsの項目に、各信号の満たすべきタイミングが記載されています。
これをすべて満たすような制御をソフトで行う必要があります。tAS,tPWEH,tAH,tDSW,tHを実際の制御と比較してみてください、このどれも仕様を満たさなければなりません。(多くの場合NOP命令でタイミングを調整して仕様を満たすようにします。NOP命令が12.8MHzでどれだけ時間を消費するか計算してタイミング調整に使用する個数を決めます。)

初期化の手順は、46ページのInitializing by InstructionのFigure 24 4-Bit Interfaceに記載されています。このように動作させているか確認してみてください。

また、54ページ Electrical Characteristics Notesに記載されているとおり、信号RS,R/W,DB0-7はチップ内部でプルアップされる構造のため、4bitバスモードで使用する場合でもDB0-3はオープンで使用してかまわない構造になっています。(直接GNDに繋いだ場合このプルアップが無駄な電力を消費します。microchipのアプリケーションノートには4bitで使用する場合の回路図はGNDに繋ぐよう書いてあるのでこうする人が多いようです。)
一方、信号Eはこのプルアップの回路が無いため、電源ONからPICが初期化動作開始するまでに信号レベルが不安定になり誤動作しないように適当な抵抗でプルダウンしておいたほうがより好ましいようですね。

参考URL:http://www.oaks-ele.com/oaks8/cd-rom_ver2/HD4478 …
    • good
    • 0
この回答へのお礼

参考にさせて頂きます。ありがとうございました。

お礼日時:2005/12/13 10:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!