PICに搭載されているTimer2タイマにはCCP機能というものがあり、PWMとして使用することが出来ます。この際、レジスタにセットした値とPWMで出力できる周波数の対応が分かり辛かったので、Excelで一覧表を計算できるようにしてみました。
例えば8MHz駆動時にの周波数は以下の通りです。PIC16F88は、T2CONbits.T2CKPSレジスタの値によって最大1/16まで分周することが出来るのですが、8Mhz駆動だと限界まで遅くしても488Hz以下には出来ない事がわかります(クロックを落とせばもっと低い音も出せます)。
スピーカーから音を鳴らすのに使えないかと思って調べてみたのですが、下限が488Hzだと高すぎる(基準のラの音が440Hzなのでそれすら出ない)のでどうやら使えなさそうです。PICによっては1/64まで分周出来るものもあり、この場合は122Hzまで落とせるので、おもちゃの電子オルガン程度なら作れそうです。
Excelファイルもダウンロードできるようにしました。周波数などの値を変えれば一覧が再計算されるようにして有るので興味があれば使ってみてください。
ダウンロード:PIC_Timer2PWM.zip
関連記事
コメントを残す