注意!このページを読んだことによる如何なる損害に対しても筆者は責任を取りません。
参考にされる場合は全て自己責任で行ってください。 マイコンを使うに当たって重要な要素のひとつにタイマ/カウンタが挙げられる。レジスタの設定等も重要だが、与えられたクロックから自分の欲しい周波数を作り出すのはなかなか面倒くさいものがある。そこで、ここには良く使うクロック周波数から10の累乗の周波数を作り出す解を蓄積していこうと思う。 使用できる分周は普段使用するAVRマイコンでサポートされている 1/8/32/64/128/256/1024 に限定する。 また、タイマ/カウンタ1をCTC動作させて使用する際の例を合わせて書く。 クロック周波数 / 分周 / 比較一致クリア(CTC)TOP値 = 取得周波数 8MHz / 256 / 31250 = 1Hz 8MHz / 256 / 3125 = 10Hz 8MHz / 64 / 1250 = 100Hz 8MHz / 64 / 125 = 1kHz 8MHz / 8 / 100 = 10kHz 8MHz / 8 / 10 = 100kHz 8MHz / 8 / 1 = 1MHz 12MHz / 256 / 46875 = 1Hz 12MHz / 64 / 18750 = 10Hz 12MHz / 64 / 1875 = 100Hz 12MHz / 8 / 1500 = 1kHz 12MHz / 8 / 150 = 10kHz 12MHz / 8 / 15 = 100kHz 12MHz / 1 / 12 = 1MHz 20MHz / 64 / 31250 = 10Hz 20MHz / 64 / 3125 = 100Hz 20MHz / 8 / 2500 = 1kHz 20MHz / 8 / 250 = 10kHz 20MHz / 8 / 25 = 100kHz 20MHz / 1 / 20 = 1MHz 以下はPD0に接続したLEDを1秒間隔で点滅させるプログラム。 デバイスには手持ちのmega48を使用。mega88でも同様に使用できると思う。
|