パルス出力の仕方

【パルス出力とは?】

 マイクロコンピュータで外部に接続された機器を制御する時など、
一定の出力信号の持続時間を指定される場合があります。
このような時、プログラムで一定の時間出力を保持しパルスとして
出力するすることをいいます。


【どう出力するか】

パルス出力の場合には入力に比較して簡単です。その実現方法
には、命令で時間を確保する方法と、タイマなどの割り込みで確保
する方法があります。
それぞれの方法を説明します。

1.命令で時間を確保する方法
  この場合にはプログラムは簡単で下記手順となります。
    
   出力ポートをONとする
      ↓
   ループするプログラムで一定時間待つ
      ↓
   出力ポートをOFFとする

  この方法ではこのパルスを出力している間は、他のことは何も
  出来ませんので注意が必要です。
  また一定時間待つプログラムは普通サブルーチンとして作り、
  あらかじめ命令の実行ステップ数を勘定することで時間を計算
  しておく必要があります。


2.タイマ割り込みを使う場合。
  この場合には一寸プログラムの流れが複雑になります。割り込み
  が何かが分からないと一寸理解できないので、割り込みを参照
  しておいて下さい。
  この場合の処理の流れは下記の様になります。

     (メインプログラム)            (割り込み処理
                             プログラム)

     出力ポートをONとする
       ↓
     タイマーをスタート    
(ハードウェア動作)
     割り込みを許可する ----→タイマ動作開始
       ↓             ↓
     他の処理を実行       タイムアップ 
       ↓←−−−−--割り込み発生
     (処理中断) →−−−−−−−−---------−→ 割込み処理開始
                                ↓
                             出力ポートOFF
     (処理再開) ←−−−−----元に戻る←−−−−−− RETFIE
       ↓
      次の処理へ                            

  この割り込み方式では、一定の時間を待つ間もメインプログラム
  としては、先に進んで他のことを実行することが出来ます。タイマに
  よって一定時間経つと、プログラムに割り込みが入り、メインプログ
  ラムを一時中断して割り込み処理プログラムに移り、ポート出力を
  OFFすることが出来るので、メインのプログラムは時間のことを気
  にせず先に進むことが出来ます。

       


  次のページへ     目次ページへ