昨日見た夢を教えて下さい

0~9までの入力をアナログ入力をして、それをそのまま7セグメンLEDで表示し、さらに二桁の結果によって指定したLEDが点灯するのをpic16f874をひとつ使ってやりたいのですが、どのようにすればいいのか分かりません。教えて下さい。

もしくはこのような質問を答えてくれるサイトでもあれば教えてください。

A 回答 (4件)

本当に、アナログ入力だったら、AN0にでも入れて、A/D変換してやてばいいのでは? フルスケールを10等分して、どのレベルにあるかを調べて、7セグ表示すればいいでしょう。

10等分ならA/Dの10ビットを丸々使う必要はなくて8ビットでもいいと思います。
ただ、1桁目なのか、2桁目なのかは、トリガ(同期)信号でもないと難しいですね。たとえば、1,7と入力したときにAN0は、1,2,3,4,5,6、7と変わっていくはずだけど、回路によってどのくらいのスピードで変化するかわからないし、どのタイミングでA/D変換していいのかわからないし。

7セグは、ポートBとポートDでスタティック表示させるとか、ポートBだけでダイナミック表示させるとか。

最後の2桁の結果によって「指定したLED」というのは、いくつのLEDがつながっているのか? 数が多いなら、さっきの7セグをダイナミック表示にしないといけないし、ポートCやポートAの残りで足りれば、7セグはスタティック表示でいいし。
ただ、7セグをダイレクトドライブするなら、PICの許容電流値にも気をつけないといけないかも?
    • good
    • 0

>これは0~9までの押しボタンを使用します。


押しボタンが10個あるなら、それぞれをI/Oに割り当て、入力を見ればどのボタンが押されたか判りますよね?
ボタンに対して7セグをドライブしてやれば良いんでは?

>押しボタンを2回押すと、データが2つでてきます。
同じポートに出てくるのだったら、一回目が終わったら別のルーチンで入力を待って2個目の7セグをドライブしたら?
2回目終わったら1回目のルーチンに戻って入力を待てば良いんじゃないの?

※アナログ入力って言うのはON-OFFではなくてリニアな電圧入力ですから、ボタンが10個ある場合そういいません。
    • good
    • 0

>電圧の差によって入力データが変わるんです


スイッチに抵抗でもシリーズに入っているかな?

押すスイッチによって電圧変わるなら
その電圧をコンパレータにかければ解るでしょ。

1回目のデータをセットして、2回目が押されたら1回目のデータを上位の
桁にシフトして、2回目のデータを回の桁に表示する。

じゃあ次の回の処理をどうするのかは仕様しだい。

だいたいこれって課題?
この辺の仕様を考える事が目的なんじゃないの?
    • good
    • 0

>どのように


PICの事は良く知らないから考え方だけね。

>0~9までの入力をアナログ入力をして
まず意味が??
入力電圧が0-10Vととして 1Vごとにコンパレータを入れて
判別する?

>それをそのまま7セグメンLEDで表示し
コンパレータで判別できた10段階のレベル毎に出力ポートを指定すれば?
7セグメントの点灯パターンは解っていますよね。

>さらに二桁の結果によって
この私は部分理解できません。

ごめんねあまり助言にもなってないな。

この回答への補足

すみません。説明不足でした。

>0~9までの入力をアナログ入力をして
これは0~9までの押しボタンを使用します。
このpicにはA/D変換機能がついていて、電圧の差によって入力データが変わるんです。その辺は私もよく分からないんですが

>7セグメントの点灯パターンは解っていますよね
それはわかってます。

>さらに二桁の結果によって
押しボタンを2回押すと、データが2つでてきます。
それを2桁にするんです。

補足日時:2005/07/28 09:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報