その2 PICプログラムリスト


 今回は、A/D入力の信号を0Vから5Vまでを1024段階で検出しています。この時の1ビットのあらわす分解能は、5V/1024=0.004883V。4.883mVで1ビットとなります。
そこで、PIC側の計算を楽にするとともに、温度センサーの0.1度を表現する為に、オペアンプを使って約9.8倍に増幅してからA/D変換入力しています。こうすると、
温度センサーは10mV/1度ですから、98mV/1度となり、98mV/4.883=20となり、A/D変換された値を1/2してやれば10倍の読みがバイナリーで得られる事になります。
これをBCD変換後、ASCIIコードにすれば、10倍の温度表示データー文字列で得られます。ここで最後の1桁目の前に小数点をLCDに送ってやれば、見事に小数点以下の
温度表示ができるというわけです。
 
 実際には、デジタルマルチメーターでセンサーの出力を直接読み取りながら、LCDが正しく表示されるように、オペアンプの増幅率を調整すればぴったり合ってしまいます。(9.764倍)
温度の分かっているものを測定しながら、校正することも可能です。PICはA/D変換結果を単に1/2(10ビットを右シフト)しているので単純明解です。
 
プログラムのほとんどの部分は、「PICマイコンプログラミング&電子工作」高橋 隆雄 著 秀和システム ISBN4-7980-0895-8 を参考にしていますので、
解説は省かせていただきます。
 
◎なお、このソースリストは、コンフィグレーション部分や割り込み処理部分がPIC 16F873のAバージョン用になっています。16F873のノーマルバージョンとは、
異なっており、そのまま使用できませんので御注意ください。無理に使用すると、チップに書き込みができなくなってしまう場合があります。
 
データーは、Xportに対してASCIIコード3文字+小数点と復帰(CR)の5文字を転送しています。
 
 
注意事項
General disclaimer

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