Re: The history of "M&Y"

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

AVRねた その34 PWM制御

2009-08-17 | AVRねた

やっと、いろいろ思い出してきて、PWM制御まできました。

とりあえず、PD6(OC0A)にLEDを接続しました。

タイマー0をPWM用に使用して、以下のプログラムを動作させてみます。

#include <avr/io.h>
#define LED_SET  DDRD  |=  0b01000000
void wait( long t )     // 10ms単位での時間待ち
   {
   TCNT1 = 0;
   while( t-- > 0 )
      {
      while( TCNT1 < 78 );
      TCNT1 = 0;
      }
   }

int main( void )
   {
   LED_SET;
   TCCR1B = 0x05;            // プリスケーラ1024分周

   TCNT0 = 0x00;
   TCCR0A = 0b10000001;
   TCCR0B = 0b00000001;

   OCR0A = 0xff;
   wait(100);

   OCR0A = 0xA0;
   wait(100);

   OCR0A = 0x80;
   wait(100);

   OCR0A = 0x40;
   wait(100);

   OCR0A = 0x10;
   wait(100);

   OCR0A = 0x00;
   }

最初は明るく光っていたLEDがだんだんと暗くなり、消えます。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 夏休み・・・終わり | トップ | 創作アイデアの玉手箱 ブロ... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

AVRねた」カテゴリの最新記事