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


PIC用C言語で、コンパイラーにPICの少ないRAMメモリーを使わせないで、アセンブラーのRETLW命令のテーブルとしてその「固定値」をプログラムメモリー中に展開させる方法は、
配列変数に対して「const」という型修飾子を付けてやれば良いのです。

ただし、各社のCコンパイラーでのテータ型とそのビット数が同じではないので扱いに注意が必要です。

今回は8ビット(1バイト)分のデータ列をプログラムメモリー内に固定しようとしているので、CIS社の場合はint型で、PICC Liteの場合はchar型で配列変数を宣言してconstで修飾してやらないと上手く1バイトに収まりません。

なぜならば、CIS社のC言語はint型は8ビットしか無いのに対して、ANSI準拠のPICC Lite ではint型変数は16ビットで表現されるからです。

用は必要なビット数が得られれば良いので、PICC Lite の場合は8ビットであるchar型で配列を宣言してやればCIS社と同様のコンパイル結果が得られます。

PICではC言語をいかに上手く使ってアセンブラーの様に簡潔なコンパイル結果が得られるかが工夫のしどころとも云えます。

もともとC言語は、アセンブラーでの面倒な変数の管理や、ハードウエア上の制約によるアセンブルテクニックを全てを知り尽くしたコンパイラーにおまかせにする事で、プログラマーが楽をしながら見通しが良く、効率的なプログラミングができる環境を整えた言語です。

しかも、C言語はアセンブラーに比べて大変移植性に優れているので、PIC間のみならず、異機種のマイクロコントローラ間での移植も可能とします。

上手に使えば、アセンブラーに匹敵する様なコンパクトなコンパイル結果を得られるのです。


この基板には、以前の回路を流用しているので、回路図には無い物が含まれています。

今回のハード回路は、実験用の緊急基板で、今まで紹介したキャラクタLCD用のハードをそのまま改造して流用しています。

いろいろな表示実験をしてから、小型のグラフォック表示用ハンディータイプを作ります。

ソフトウエアは、例によって基本部分はパレットソフトさんのものを使用しております。

また、ノキア5110表示用のライブラリー部分は、
CQ出版の「トランジスタ技術2006年3月号」に掲載された、
R8C/15付録マイコン基板活用企画 
第9回 小型グラフィック液晶表示器で作る簡易温度計 山本 秀樹氏 のR8C/15用ソフトウエアをPICC Lite用に移植して流用いたしました。

また、今回はSPI通信部分は専用ユニットを使用していません。すべて、該当ビットのON,OFFで駆動しています。

PICC Lite 用のソース。

16886glcd
(Jul. the 2nd 2010)

※ご注意 本プロジェクトは HI-TECH C for the PIC10/12/16 v9.81 以前のバージョンにて作成されています。 HI-TECH C for the PIC10/12/16 v9.81 以降のバージョンでそのままコンパイルすると、コンパイルエラーが発生いたします。これを解消するには、下記をご参照下さい。

HI-TECH C for the PIC10/12/16 v9.81リリースとその注意点!
http://ohta.no-ip.com/Pages/templan/index60.html
(Mar. the 1st 2011)

やっと、念願のプロット表示ができる様になりました。
パレットソフトの小林さんには、本当にいろいろとご指導いただきました。
ありがとうございます。

このソースは実験用の物であり、リアルタイムで約0.5Sec間隔で気圧の測定を自動で行っています。
グラフィック表示は10回測定したら1回表示する様にしてあります。
また、現在SW2は処理しておりません。
PORTBに4ビットのディップスイッチを付けてプロット間隔を変更してみたいと思っています。

また、今回は温度を表示しておりませんが、
簡単に温度も数値表示できます。

縦軸の最低値は920hPa、最高値は1040hPaになっています。
縦軸の数値が表示してありません。

また、横軸は47ドット分有ります。
最右端までプロットすると、心電図の様に、
また最左端からその前の2ドット分のデータを消しながらプロットします。

まだまだ、完成では有りません。
いろいろな機能が有りないと思いますが、
今回はあくまでプロットの実験用ハードとソフトウエアです。

データRAMがまだ余裕が有るので、記憶を何処まで取れるかも挑戦してみたいし、
あれやこれやアイディアが浮かびます。

ここまで来ると、アイディアだらけでまとまりません。

いろいろな事をこのPICに組込んで実験してみたいと思います。

まずは、小型化して、高層ビルにでも昇って気圧の変化を見てみたいと思います。

例によって、いつになる事やら!
(Jul. the 2nd 2010)

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

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