2009年11月17日火曜日

LCDがおかしい?プログラムがおかしい?

電子工作ではごくごくポピュラーなLCDのSC2004を動かしてみました。
というより悪戦苦闘してました。

内容としてはPIC16F88にVRを2個付けて、AD変換し、10進数に換算し、液晶に表示する。その他にもその値同士を加算、減算してその結果を表示するようにアセンブラで書き書きしてました。
そこで何度やっても2行目に数字が表示されないというトラブルが発生しました。(まあいろいろとおかしなところがありますがw)
DDRAMのアドレスが間違ってとんでもない所に行ってるんじゃないかとか、いろいろと考えましたが、結局改善されず、放置しようかと思っていたところ、今から4年前位に買った同じ型のLCDがあるのを思い出して、それにつなぎ変えてみました。





動いたOTL





秋月電○!!無駄にしてしまった時間を返せ!!!www
ということで新品が不良品だったのか、自分のミスだったのかよく分かりません。
教えてくださいエライ人。ちなみに新旧両方のデータシートが奇跡的に手元にあって、確認したのですが、とりあえず何の変更もされていないようです。謎は深まるばかり。
参考までに、上がダメな新しいLCD、下がしっかりしている古いLCD




ってコレを書いてる途中に気付いたけど、これLCD本体の回路が違ってました。新しい方はいくつかつながってる状態(4bitモードを想定して)のがあったので、そいつらを全部オープンにしておいたら動きました。先ほどの某言を撤回しておくと、○月電子さんすみませんw
とりあえず、PICの中でどんな数字がやり取りされているのか把握できるようになったので、次はどんどん新しいおもちゃで遊んでみようと思います。

2 件のコメント:

゛ さんのコメント...

この話でしょうか?

液晶表示モジュールを4ビットモードで使ったときの空きピン処理
http://www.oct.zaq.ne.jp/i-garage/trbl/lcd4bit.htm

higo さんのコメント...

まさにそのサイトに書いてあることが頭の中にあって、もしやとおもってみてみるとやっぱりそうでした。新しいものをブラックボックスのままにしてしまうとこういうことが多々あると思います。勉強になりました。