ノキア5110グラフィックLCDを気圧計に使うには? その2


ノキア5110LCDユニットも、ノキア3110LCDユニットのどちらも、
ピン配列が異なるだけで信号や制御方法は全く同じである。

でも、ノキア5110の方がキャリー基板があるので扱いやすい。
そして決定的なのは、剥き出し状態のノキア3110LCDユニットは、
カメラのフラッシュを発光すると、
そのノイズだけでLCD内部のフィリップスのコントロールICが停止してしまい、
リセットをかけるまでは、
表示がでなくなってしまう事だった!

そもそも、ISP通信は通信相手を並列に何個か接続する事ができ、
チップ選択信号で相手を選択して通信が行える。
ただし、通信可能な距離は短いので、主に基板内のチップ同士の通信に使われている。

そこで、ノキア5110を2枚とノキア3110を1枚の3枚を同時に繋いで実験してみた。
全てに同じ表示がちゃんと出たので、
写真を撮ると3枚のうちの3110だけがフラッシュを発光すると消えてしまう。

5110は単独でもフラッシュで消えた事が無い!
これで、PICがノイズを受けて止まっているのではなく、
3110内部のコントローラーがノイズで止まってしまっている事が証明された様な物だ!

だか、中身のチップは一緒ということは、
あのキャリー基板に使われているアルミケースがノイズから内部のICを守っていると云う事になる。

接触不良の無い物に当れば、
5110LCDキャリー基板付きの方がやはり扱いやすい。

さて、気圧計をPICC Lite(HI-Tech社製 PIC用無償版C言語)で記述するにはどうしたら良いのだろうか?
なあーんか、見当もつかない!
何だろう?このもやもや感は・・

アマチュア電子工作屋の私は、
ここでふと悩んだ!

C言語で大量のデータを保管するのには・・配列?・・それは、PICの何処に?
あっ!
PICは、Pentium等のフォンノイマン型アーキテクチャ
(メモリーはプログラムだけの記憶領域ではなくて、
演算データや文字等の記憶にも使われていて、
命令とデータを区別する事無く格納している方式)
では無く、
プログラムメモリーとデータメモリーが完全に分離されたハーバード型アーキテクチャだった!
しかも、16Fあたりでは数百バイトから多くても1キロバイト以下しか無い!

事実、今回のサンプル駆動回路では、PIC 16F628Aが使用されており、
プログラムフラッシュメモリー 2048ワード、RAM 224バイト、EEPROM128バイトしか無い!

今回の5110は48×84/8で504バイト!
配列なんか使ったら、1画面分の映像はもちろん、
数値文字のドット情報を記憶するだけで足りなくなってしまう!

ほーら見ろ!C言語なんかで大量なデータは扱えないんだよ!てか?うーん!
そんなはずは無い!
アセンブラーに最も近く、
システムまでも容易に記述できるC言語のコンパイラーがそんなに非力だろうか?

実は、ちゃんとアセンブラーの様にC言語にコンパイルさせる為の指令方法があったのだ!
つづく。
(Jun. the 26th 2010)


注意事項
General disclaimer
トッ プページへ

なお、当ホームページで公開しているデーター(写真、音声)等を個人の枠を超えて複製・転用する事はご遠慮下さいませ。
ご意見/苦情/ご感想はこちらまで