- ベストアンサー
ワンチップマイコンPICによるLCD(液晶)の制御
PICを使ってLCD表示の実験を行っています。 最終的には、dsPIC33FJ64GP706(64pin)でLCDを利用したいと思っています。 PICの参考書籍を見ながら、例題を用いて16F873や18f2680、dsPIC30f3013など5Vで駆動するPICではLCDの表示はできました。 しかし、なぜか3.3Vで駆動する24FJ64GA002やdsPIC33FJ64GP706ではLCD上にトーフが並ぶのみで、適切な表示ができません。 このときのプログラムが、0.5秒ごとに数字をカウントアップさせるものであり、この黒いトーフもそれに従い濃淡の点滅をしていますので、何らかの信号は伝わっているような気がします。 この場合はPICを3.3Vで駆動させて、LCD電源のみを5Vで供給しています。 この点について、わかる方がありましたら教えてください。 なお、コンパイラはccs-cを使用しています。 また、回路接続や信号については、24FJ64GA002やdsPIC33FJ64GP706では、プログラム上から任意のLEDを点滅させることを確認していますので、回路上のミスはないと思います。 24FJ64GA002では、内臓レギュレーターを使う(VDD3.3V、DISVREGとVSSはGNDへ、VDDCORE/VCAPは10ufを通してGND)の設定になっています。 dsPIC33FJ64GP706もDISVREGピンはありませんがほぼ同様の設定にしてあります。コンパイルする前のLCDを表示するプログラムはどのPICもほぼ同じものを使用して、へッダーファイルやPINの番号を変更しているのみです。 すべてPORT_Bを使用しています。クロックはいずれの場合もヒューズでHSを設定し、セラロックの20MHzを使用しています
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
基本として、1電源2電圧でも2電源2電圧でも、すべてのGNDは繋げて下さい。 そうでないと、印加された電圧が何ボルトであっても無効になります。 >LCD電源(4.7V)とPIC電源(3.3V)は全く別の系統の電源を使用している >LCDのR/W端子のGNDだけは3.3Vに落としています。 R/W端子だけでなく、2つのACアダプタのGNDも繋げて下さい。 (念の為、R/W端子を3.3vに繋げるのではなく3.3vのGNDに継げるのですよ。) LCDの稼動電圧は4.75~5.25vで、絶対最大定格は7vです。 (7vで壊れると思って下さい。 電圧変動で7vを超えると壊れる、ってのが正しい書き方です。) こんな所かな!?
その他の回答 (3)
- pc_net_sp
- ベストアンサー率46% (468/1003)
LCD信号ラインに74HC244・245のロジックICで、3.3vから5vに電圧を上げて下さい。 http://www.marutsu.co.jp/data/TC74HC244A.pdf http://www.marutsu.co.jp/data/TC74HC245A.pdf 使い方は、PDFを読んで下さい。 秋月電子通商でSC1602BSは、LCD電源は5vで4~14Pinの信号腺は、 Highで2.4v~VDD・Lowは0~0.6vってマニュアルに書いてありますので、LCD電源以外は3.3vでも問題ないはずです。(理論上) プログラムに問題がある可能性があります。 ---余談話--- トラ技のdsPIC30F5011使用のC言語を使った学習ボードキットは、PIC電源3.3v・LCD電源5v・信号腺直結の回路になっています。 (2008/07号 dsPIC30F5011の動作電圧は2.5~5.5v SDメモリカードを使う為に3.3v電源になっています。) 回路図 http://www.wakamatsu-net.com/cgibin/biz/38150088image11.jpg キットセット http://akizukidenshi.com/catalog/g/gK-02406/ http://www.wakamatsu-net.com/cgibin/biz/pageshousai.cgi?code=38150088&CATE=3815
補足
>秋月電子通商でSC1602BSは、LCD電源は5vで4~14Pinの信号腺は、 >Highで2.4v~VDD・Lowは0~0.6vってマニュアルに書いてありますの >で、LCD電源以外は3.3vでも問題ないはずです。(理論上) ご指摘ありがとうございます。 初心者なので良く判らないのですが、LCD電源(4.7V)とPIC電源(3.3V)は全く別の系統の電源を使用しているのがまずいのでしょうか。LCDのR/W端子のGNDだけは3.3Vに落としています。レギュレータ等を使用して、一つの電源から両者へ給電しているわけではありません。
- takepon256
- ベストアンサー率41% (391/936)
お礼
ありがとうございました。 もう少し勉強してみます。
- takepon256
- ベストアンサー率41% (391/936)
>何らかの信号は伝わっているような気がします。 >この場合はPICを3.3Vで駆動させて、LCD電源のみを5Vで供給しています。 電圧はあわせないと・・・。 レベルがあってないから常にCS=Lowの状態で書き込まれているのでは?
お礼
ありがとうございます。 もう一度、回路を再構築してみます。
お礼
ご指摘ありがとうございます。 2つのACアダプターのGNDを接続したら、想定どおりにLCDが稼動しました。