プログラミングと工作と

PythonとかPascalとかAVRマイコンとか、コンパイラつくったり電子工作なんかを楽しんでいるおっさんの記録

AVRマイコン アセンブリ言語入門 ― 8bitタイマその3

今回は、8bitタイマを使う時に設定する「レジスタ」の説明をします。
8bitタイマに限らず、マイコンの各機能を使うときは、その機能の設定をするレジスタが用意されています。
このレジスタに値を書き込んで、「こういう動作をしてください」とマイコンにお願いするのです。

 

さて、8bitタイマの設定は、以下の4項目が必要になります。

 

  1. 動作モード:ノーマルモードかCTCモードか等
  2. プリスケーラの値
  3. カウント比較値
  4. 割込み要求の設定

 

これら4項目を以下のレジスタに設定します。 

f:id:takashira:20151123111910j:plain

たとえば、動作モードをCTCモードにする場合、WGM02〜WGM01を’010’に、つまり

と言った感じで設定していきます。

ここで、レジスタ名はタイマ0の名前を使っていますが、タイマ2を使う場合は数字の0を2にすればOKです。

TCCR0A→TCCR2Aといった具合です。

 

さて、4項目目の割込み要求の設定に行きます。

 

f:id:takashira:20151123120726p:plain

割込みの話はまだしていないので、なんのこっちゃ感があるかもしれませんが、プログラムは習うより慣れろの部分もありますので、後でLチカプログラムを書く時にわかってくると思います。

 

これだけのレジスタがわかれば、8bitタイマは動作可能です。

次回から、いよいよプログラムに入りたいと思います。