« AVR実験室(37) | トップページ | XI-IV再び(71) »

2012年1月14日 (土)

AVR実験室(38)

11 プログラムの構成

昨日の回路で動作させるプログラムは、次のような構成となります。

メインプログラム:初期化の後、パケットを1フレームのデコードが完了するまで待ち、割込み禁止にして割込みルーチンで使用されるレジスタを初期化した後、デコードしたデータを整形して出力する。

割込み1(コンパレータ割込み):アナログコンパレータによる割込みにより、音声信号が1200Hzから2200Hzへ変化した場合、あるいは逆に2200Hzから1200Hzに変化した場合には、ビットデータ0を取得する。この時、次の割込み2までの間隔を調整し、音声信号と同期をとる。

割込み2(タイマ割込み):1/1200秒ごとの割込みによりビットデータ1を取得する。

なお、割込み1と割込み2で同じ処理がありますので、サブルーチンにまとめました。
割込み1と割込み2に優先度の差は無く、先に割込みが発生した方が処理されます。
 各処理は次のフロー図のとおりです。
10programflow_0110programflow_02





|

« AVR実験室(37) | トップページ | XI-IV再び(71) »

ワンチップマイコン」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: AVR実験室(38):

« AVR実験室(37) | トップページ | XI-IV再び(71) »