ノキア5110グラフィックLCDで
気圧、温度、湿度の3つの表示をさせるには? その2
実は「その1」でも触れましたが、3種混合表示ルーチンにバグが有る事が判りました。ところが、それを修正するには、プログラムの今までの累積している無駄なコモン変数の宣言(特に浮動小数点や、配列等)や、無駄な関数を良く吟味しながら省いて、ソースプログラムのダイエットをしないと、プログラムメモリーにほとんど余裕が無くなってしまいました。 また、ようやく気がついたのですが、元々はPIC 12F系用の気圧センサーとのインターフェース用ソースプログラムだったので、RS232Cについてもピットのパタパタ通信で行っておりました。 私としては、ビットのパタパタ通信は、さほどプログラムサイズが増えずに不特定のビットに割り付ける事ができるので愛着があるのですが、RS232Cについては、16系以上のPICには専用のUSART内蔵機能が独立して設けられているので、せっかく持っているこのUSART機能を使わない手は有りません。 後で判った事ですが、内蔵のUSART機能を使うと、データをセットして通信を開始すれば、PIC自信はこの通信制御の手間をUSART機能にまかせて、他の仕事にうつれるのでした。事実この後で紹介する、ハードウエアと、ソフトウエアで運用すると、RS232Cの送信完了を待つ事無く、すぐに、別のポートで湿度センサーユニットとのビットパタパタ通信を始めてくれます。つまり、並列処理ができてしまうのです。 16F系、18F系で内蔵機能を使う時の最大の難点は、その使用できるポートが固定であるという事です。したがって、今回のUSARTを使用できる様にするために、ハードウエアと、ソフトウエアの使用ポートの変更をしなくてはなりませんでした。 |
|
16F886では、USARTは、RC6:TX、RC7:RX
を両方確保しなくてはなりません。TXのだけを使うという様な事が、残念ながらできませんでした。従って、3カ所のハードウエアの変更となりました。 さらに、今まで、RA5で行っていたRS232CへのTXDを止めてUSART指定のRC6へ移動しました。 |
16886prrh07.zip |
プログラムサイズが7415バイトです。8192-7415は、あと残り、あ、777バイトですね!偶然!! このソースプログラムは、PICC Pro Lite により書かれています。 気圧センサー部分を含むプログラムの根幹は全て、パレットソフトさんのプログラムを利用しています。 ノキア5110表示用のライブラリー部分は、 CQ出版の「トランジスタ技術2006年3月号」に掲載された、 R8C/15付録マイコン基板活用企画 第9回 小型グラフィック液晶表示器で作る簡易温度計 山本 秀樹氏 のR8C/15用ソフトウエアをPICC Pro Lite用に移植して使用しています。 湿度センサーSHT-11とのインターフェース部分は、海外のサイトのプログラムを利用しています。 作者と連絡する方法が解りません。リンクを表記しておきます。 http://www.edaboard.com/ftopic398316.html 上記ページの一番下のソースを利用しています。 今、18LF2550への移植を試みていますが、それがうまくいけば、24FJ64GA002へも移植しようと思っています。 どちらも手元にあるし、同一ピン数なので・・でも、本当にいつになる事やら! (Aug. the 4th 2010) |
なお、当ホームページで公開しているデーター(写真、音声)等を個人の枠を超えて複製・転用する事はご遠慮下さいませ。 |
ご意見/苦情/ご感想はこちらまで |