【パルス出力とは?】
マイクロコンピュータで外部に接続された機器を制御する時など、
一定の出力信号の持続時間を指定される場合があります。
このような時、プログラムで一定の時間出力を保持しパルスとして
出力するすることをいいます。
【どう出力するか】
パルス出力の場合には入力に比較して簡単です。その実現方法
には、命令で時間を確保する方法と、タイマなどの割り込みで確保
する方法があります。
それぞれの方法を説明します。
1.命令で時間を確保する方法
この場合にはプログラムは簡単で下記手順となります。
出力ポートをONとする
↓
ループするプログラムで一定時間待つ
↓
出力ポートをOFFとする
この方法ではこのパルスを出力している間は、他のことは何も
出来ませんので注意が必要です。
また一定時間待つプログラムは普通サブルーチンとして作り、
あらかじめ命令の実行ステップ数を勘定することで時間を計算
しておく必要があります。
2.タイマ割り込みを使う場合。
この場合には一寸プログラムの流れが複雑になります。割り込み
が何かが分からないと一寸理解できないので、割り込みを参照
しておいて下さい。
この場合の処理の流れは下記の様になります。
(メインプログラム) (割り込み処理
プログラム)
出力ポートをONとする
↓
タイマーをスタート (ハードウェア動作)
割り込みを許可する ----→タイマ動作開始
↓ ↓
他の処理を実行 タイムアップ
↓←−−−−--割り込み発生
(処理中断) →−−−−−−−−---------−→ 割込み処理開始
↓
出力ポートOFF
(処理再開) ←−−−−----元に戻る←−−−−−− RETFIE
↓
次の処理へ
この割り込み方式では、一定の時間を待つ間もメインプログラム
としては、先に進んで他のことを実行することが出来ます。タイマに
よって一定時間経つと、プログラムに割り込みが入り、メインプログ
ラムを一時中断して割り込み処理プログラムに移り、ポート出力を
OFFすることが出来るので、メインのプログラムは時間のことを気
にせず先に進むことが出来ます。