• 締切済み

PICを用いて、任意の点でパルス波を発生させたいのですが…

picに正弦波を与え、任意の位相でパルス波を発生させる装置を作成したいと考えています。 参考書を見ても、どのようなプログラムを組めばこの装置を作成できるか、良い案が出てきません。 割り込み処理などもあまり理解出来ていなくて・・・。 どのようなプログラムを組めば、上記の装置を作成できるでしょうか? なお、プログラムはC言語で行っています。 参考になるサイトなど教えて頂けると嬉しいです。 よろしくお願いします。

みんなの回答

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.1

割り込み処理は基本中の基本です。まず割り込み処理を覚えることをお勧めします。 具体的なコードは示しませんが、アルゴリズムだけ簡単に説明します。 まず、サイン波形をADコンバータでデジタル数値化します。 サイン波の周期に対して十分に高速な変換時間を設定できれば、あとは振幅中心でも最大最小判定でもして、それをトリガにしてタイマを起動し、タイマの値をみてパルス出力すればいいでしょう。 振幅中心判定の場合はサイン波の電圧が+方向なのか-方向なのか判断する必要もあります。 判定には少し範囲を持たせておいたほうが無難です。 あるいはタイマによる時間調整ではなく、何命令後にパルス出力する、でもいいです。 気をつけて欲しいのは、AD変換にはある程度の時間がかかることです。変換開始して瞬時には結果を得られません。人間の目には瞬時であってもPICからはかなり長い時間に見えます。 どれくらい時間がかかるかは設定によりけりなので仕様書を読んで下さい。 上記の考え方をイメージにしてみましたので参考にしてください。

lazie
質問者

お礼

やはり割り込み処理は重要なのですね。頑張って勉強したいと思います。 早速、回答に下さったアルゴリズムを参考にし、一からプログラミングしてみます。 また分からないことがあり質問を立てるかも知れないですが、その際にはまた回答を頂けると大変助かります。 分かりやすいご回答をありがとうございました。

関連するQ&A