電圧計をC-Pro言語に移植
特に変更無くそのままコンパイル出来ました。後で少しSoftをいじろうと思います(2009/8/20)。
|
電圧計をC言語に移植
[PIC-35で電圧計]を作りました、その後PIC16F819に移植し使っていました、主に006Pタイプの電池電圧を確認する為に利用しています。
消費電流が約25mA程度なので、消費電流が適当な電池付加となり電圧を表示してくれます。
本当はもう少し工夫すべく(まだ直していない)机の上でゴロゴロしていました。基板は同じで、ただICを差し込んで動作の確認をしているだけです。
(少しお粗末ですが・・、写真はPIC-35にありますので省略します)
| 再びPIC16F88
最近C言語を始めたので、応用が多い電圧計を使いたいと思いプログラムにチャレンジしました。
前回ちらつきが多かったので「対策として下の桁を消していた」のを復活させました。これはA/D変換を16回実行し平均値を表示しょうというものです、試すとちらつきも無くきれいに表示出来ました。
3桁表示で使い道は結構多いと思います。ハードは使い回しですがソフトはなれない為、蛇足が多いのではと思いながらやっています。もっとうまい方法があると思いますが、何とか動くようになってホッとしました。
調 整
9Vの電池などを接続し、テスターで測り同じ数字が出るようにVRを合わせれば終了です。
表示は[0.00]から[9.99]までで、RA5を0にすると変わって[99.9]になります。
|
|
[プログラム]
この画面に出そうと思ったのですが、HTMLファイルにするとかなり文字が切れたりして修正が面倒なので[プログラム]は別ファイルで出すことにしました。
前回のプログラムは短かったので全部修正したのですが面倒です、修正ミスも隠れてしまったりする可能性があるので、別ファイルの方が確実と思いました。
ハード(回路的)とSOFT共まだ余裕があるので、何かの回路を追加したりするのに便利です。ただ時間的に忙しいものはだめで、表示が息切れします。
LEDの表示は割り込みを4mSecに一度づつ、1桁を表示し3回の割り込みで全体の表示をしています。あまり長い割り込みを無入れる(プログラム)と表示の方で苦労するかも・・・。
[更にPIC16F819に移植]
手持ちに、PIC16F819を購入し使ってない物があるのでこれを早く使いたいと思っていました。そこでPIC16F88で成功したので続けてPIC16F819に移植しました。
プログラム自体はほとんど修正なしてコンパイル出来ました。コンフィグの設定がかなり違うのでその点だけでしょうか。A/D変換の位置指定が異なる程度と、数行の変更でした。
動作はアセンブラで作ったのと、見た目同じ動作ですが細かい点で違っています。動けば良いので、しばらくはこれで行きたいと思います。
2009/MAR/5 M.K
| [その後]
LEDを良く見ているとチラツキを感じます。この現象はアセンブラの時は無かったのですが、原因不明です(何日か過ぎる)。
以前は、A/D変換を1回だけつかったのを16回測定し、平均値を求めて表示することにしました。この為でしょうかA/D変換に約3.1mSecの時間が掛っています、この間割り込みは中断している。その分他のLEDが暗くなりチラツキとして感じたのでしょうか。
そこで、変換部分を2つに別け、スキャンスピードも2倍にしました。これでほとんどチラツキは感じられなくなりました。
タイミング的にはLED1桁分256μSecで割り込みを入れ、交代で点灯表示をさせている。
[電池充電に使う]
後で電池電圧表示用として使おうと思い、充電チェック電圧(1.59V)の信号をRA3端子に出しました。
今回直接関係ありませんが、近い内に作って使おうと思っています(まだ作っていません)。
(2009/MAR/9)
|