スレーブCPUボードの温度センサ「TMP102」を読み取るプログラムは、前回紹介しましたので、今回は読み取ったバイナリ・データを、氷点下の場合は-符号を付加して10進数に変換するプログラムを紹介します。

  TMP102の温度データは、12ビット・モード・データを使用し2バイトの2進数で表されます。上位バイトの最上位ビットは符号を示し残り7ビットで整数部分を表し、下位バイトの上位4ビットで少数部分を
表しています。12ビットモードの場合0.0625℃/ビットです。

  氷点下の場合2の補数でで表されるので、2の補数の作成法は、
(1) 各ビットを反転させる(1の補数)。
(2) 上記(1)の結果に1を加える。

  従って、通常の2進数に戻すには上記の逆を実施すればよいわけです。また、本システムでは整数部と小数部を分離し、小数部は0.0625倍せずif文で数値化して、少数第1位のみ表示します。

  下記は、スレーブCPUボードを使用しTMP102(2)を冷蔵庫の冷凍室に入れ、数値変換処理を-数値の表記確認のために実施しているところです。

 

PC800.jpg

 

  冷凍庫の中です。

 

TMP800.jpg

 

 温湿度計の温度計部の精度は±1℃(0℃~+30℃)、±2℃(左記以外)で、TMP102の精度は
±0.5℃(-25℃~+85℃)です。温湿度計はエンペックス気象計(株)のシュクレ・ミディを使用して
います。

  印字結果は、下記のようになります。

TMP=F120
~TMP=0EE0
-14.9

  テスト・プログラムは下記で、アドレス0x49のTMP102を1セット使用しています。TMP102を読み出すプログラムは、前回紹介済みのプグラムと同一です。後半'8)disp tempでターミナル・ソフトへの温度表示処理を行っています。  'check minusで氷点下の判定、 'change minusvalueで小数部分の変換処理を実施しています。この部分のフローチャートは下記のようになります。

 

DISP_FLOW-2_HP706.jpg   ターミナル・ソフトに、バイナリの温度データを10進数表示するプログラムは、下記となります。

  DISP_1TMP102_0x49-5.bas 

 

 次回は、読み出したTMP102のバイナリ・データを、マスタCPUボードに送信するプログラムを紹介します。

 

 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: PIC Pico Basic【マルチタスク機能の紹介】<10>温度測定システムの製作-3

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/6371

コメントする






このブログ記事について

このページは、picobeが2012年1月23日 17:48に書いたブログ記事です。

ひとつ前のブログ記事は「PIC Pico Basic【マルチタスク機能の紹介】温度測定システムの製作-2」です。

次のブログ記事は「PIC Pico Basic【マルチタスク機能の紹介】温度測定システムの製作-4」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。