Re: The history of "M&Y"

Team "M&Y" and "花鳥風月"
the soliloquy of the father
毎日更新!

AVRねた その23 タイマー

2009-07-27 | AVRねた

まだ、よく思い出せないAVRですが・・・とりあえず、タイマーを使った時間待ちを作ってみました。

これで、1秒間だけLEDを点灯することができます。

#include <avr\io.h>   // LEDを一秒間点灯する

void wait(long t)         // 10ms待つ
   {
   while(t-- > 0)
      {

      TCNT0=0;
      while( TCNT0<78 );
      }
   }

int main( void )
   {
   TCCR0B = 0x05;   //プリスケーラ1024分周
   TCNT0 = 0;             //タイマークリア
   DDRC |= 0x10;       // PC4を出力に設定

   PORTC |= 0x10;     // PC4をHに設定
   wait( 100 );              // 1秒待つ
   PORTC &= ~0x10; // PC4をLに設定
   }



この 78 と言う数値は以下の式で算出しました。

1 (秒)÷ 8,000,000(クロックHz) × 1,024(分周) × 定数 = 0.001(秒)

となる 定数 を逆算すると、大体 78 となります。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする