- 締切済み
I2CでZJM162A というLCDを稼働できない
複数のLCDをPICでI2Cインターフェースで表示用に使用しようとしています。 I2Cを使わず、パラレルで繋ぐと問題なく表示します。 コネクタで簡単に別なLCDと交換できるようになっており バックライトありの1602Aや2004Aから差替えても表示すべき内容が表示されます。 I2C環境下も同じ初期化で命令で1602Aや2004Aは問題ありません。 しかし、ZJM162A では2ライン設定しているにもかかわらず、1行で文字化けします。 タイミングを変更してテストしても、ZJM162A だけは初期化で指定した通りにならず、文字も 0x?F のコードしか表示しません。 4bitモード/2Lines/5x8dotで初期化しているだけです。 LiquidCrystal_I2Cのソースを参考に初期化手順は全く同じにしても ZJM162A だけは1行モード/文字化けで表示します。 MPLAB IDE v8.63 PIC16F1938 ZJM162A/I2Cカード I2Cカード http://ht-deko.com/arduino/pic/i2c_lcd_03.jpg LCD http://www.aitendo.com/data/aitendo/_/70726f647563742f32303132303730345f3061633864372e6a7067003235300000660066.jpg よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- koujikuu
- ベストアンサー率43% (429/993)
No.1 補足2 PCF8574 の LCD 接続は P7 - D7 P6 - D6 P5 - D5 P4 - D4 P3 - BACK LIGHT P2 - E P1 - R/W P0 - RS です、オープンドレイン(弱プルアップ)を CMOS H/L 出力に変えるのは 74HC541 等のバッファを入れるのが簡単です またLCDを複数接続する場合、E 信号以外は共通にできます D7-D4,R/W,RS,R/W=L (write固定) 74HC595 のシリアルーパラレル変換ICを使う方法もあります (LiquidCrystal_SR.h ライブラリ)
- koujikuu
- ベストアンサー率43% (429/993)
No.1 補足 PCF8574 出力は、オープンドレイン + 弱プルアップ( 100uA 50kΩ相当 ) なので LCD 側にプルダウン抵抗があると HIGH レベルが中間電圧となり CMOS Hレベル 3.5V以上 ( VCC*0.7 ) を満たさない場合があります
- koujikuu
- ベストアンサー率43% (429/993)
LCD 8 → 4ビットモード切り替え不良だと思われます ( 8ビットモードで書き込んでいる為 D3-D0 が1と認識される 内蔵プルアップ ) こちらの ZJM161A タイミングを参考にして下さい https://plaza.rakuten.co.jp/lovesun/diary/201602090000/ また busy flag (BF) を読み出すと コマンド受付可能かチェックできます 参考 http://elm-chan.org/docs/lcd/hd44780_j.html
お礼
コメントありがとうございます・・・・ 問題の趣旨をよく読んでからアドバイスをいただけると嬉しいです。 I2C制御ボードでZJM161Aを駆動された経験がないと回答も難しいと思います。
補足
タイトルで明記しましたが、問題があるのは「I2Cで」です。 PICでLCDを使うには、パラレルとシリアル(I2C)の2つ方法があります。 1、PIC -> LCD (16Pin) パラレル接続 2、PIC(Serial 2Pin) -> I2C(Parallel 16Pin) -> LCD シリアル接続 問題が発生しているのは接続2(I2C)です。 状況説明の2行目に「パラレルで繋ぐと問題なく表示します。」と明記 接続1ではPICから直接制御の初期化手順で他のLCDも ZJM162A も 期待通りに稼働(表示)しているという意味です。 パラレル運用では困っていません。 回答いただいた前提は、パラレルであり、シリアル制御カード(I2C)に ついては関連性がありません。 I2Cでは、1Byte送信するには、データを4Bit分解して制御コードを 付加して4回送るという全く異なる通信でI2C制御カード配下のLCD用に データを送るという対応をするのです。 Busy回避は、出すcommandの処理必要時間の数倍の時間の遅延を与えてもZJM162Aのみ不良という状況は変わりません。 ZJM162Aは処理が遅いのかも知れませんが、それならパラレルでも問題が 発生するはずですが、起こりません。 ZJM162A の基板に書かれている会社名で検索して出てきた会社に 英文でSPECの開示を要請していますが、未だ有効な回答がない状態 ちなみに全製品の製品情報は未公開というunpolite company
お礼
ありがとうございます。 オペアンプを所有していないので、仮のトランジスタでアンプして テストしましたが、波形が崩れたのか動くLCDでも同様な振る舞いに変わり 動かなくなり、ZJM162A と同様文字化け(表示文字は異なる) PCF8574には、4Bitしか信号用に割り当てがないこともわかりました。 現象的、上記テストの結果から推察して ZJM162Aは補足の通り、10年以上前の製品で信号レベルがPCF8574の 出力では認識できないものと判断するしかないようです。
補足
Dear Sir We have rest of National day.sorry for late reply. Firstly we changed from ZIJING Company to FANGGAUAN company in 2007 for 10 years. Because ZIJING Company boss can not have good business administration, and then we buy this company in the year of 2007. Now we are FANGGUAN company ,pls you know.You have bought products for 10 years or just now ? Could provide us your product photos for the front and the back of the product? And then we can sovle your problems. We made LCD product for 15 years selling many cities and many countrys in the world. About all product specifications disclosed ont the net, we can not do that, but we can provide it by email sending you. No matter you will buy or not buy our product in the future, thank you for telling us the reseaon of your products, we can solve all the problems because we have good engineers now. And we export to America, Korea, Bulgaria etc now from the year of 2007. They have high-class stringent specifications and high grade quality in their countrys. So if you belive our new company -- FANGGUAN company, we would like provide free samples as your drawing of product to redesign what you need and suitable product for you. How about you? We are waiting for your reply all the time. Thanks Helen ZJM162A は10年以上前に作られたもので 会社も FANGGAUAN という会社に吸収され、その会社はLCDを製造して いるという その会社のHPでは、一切、自社製品の技術情報をネットで公開して おらず、技術情報開示の要請に上記のふざけたスペルミスだらけの回答 しかしてこない。 現在、ZJM162A とIIC/I2Cカードが販売されて写真がたくさん掲載されて いるサイトのリンクを付けて送り返して応答を待つことにした。