|
8bitの PICで 10bitのデータ、例えば 10bitの A/D変換出力、を 7seg LEDに表示するのは少々面倒です。
8bitのデータであれば僅か 16行(当方オリジナルの場合)で変換可能ですが、10bitとなるとそう簡単には
行きません。メーカーから 16bitデータの変換例が発表されていますが、解析には少し時間がかかりました。
メーカー発表のコードそのままで動作しますが、他人の作ったコードをそのまま使用するのも
(変数名等を変えたところで他人の作ったものに変わりはない)、バカ・アホと同じ
で面白くありませんし、HPで発表も出来ません。図々しく発表出来るとすればそれはド素人か、
どうしようもない厚顔無恥のバカかアホのいずれかです。
以下は当方で作成した 10bitのバイナリデータを 7seg LEDに表示する変換例です。行数 31。 必要があれば 10bit以上も考えるのですが、現在のところこれといって PICで作りたいものもありません。 1.変換出力を left justifyで得る。DataH 8bit、DataL 上位 2bit。
2.DataHから 019h(25)を引く。引けた回数が 7seg LEDの上位 2桁となる。
3.余りを 2bit RLFし、Right justifyした DataLと加算する。
4.加算したデータから 0Ah(10) を引き、下位 2桁のデータを得る。
テストしてみるとデータが 100以下の場合は良いのだが、100以上だと 2大きく表示される。おかしいな
こんなはずは・・・とコードをチェック。 3.の "余りを 2bit RLF" する前に、STATUS,Cを CLEARするのを
忘れていた。ついつい忘れがちなこと。 |
|
|