【マイコン日記】78k0R で PWM

今回はマイコンのタイマ / カウンタ機能を使ってPWMをやってみる。

スピーカからwav音源を鳴らしてみる(`・ω・)ゞ

用意するもの

・wav音源の用意 (マイコンROM容量を考慮すると, リサンプルした方が良い => バイナリ形式に変換 => データ先頭に0xを追加)
・100均で買ったボイスコイル型スピーカ(回路系非搭載)
・アンプ回路とローパス回路を作製

実験開始

流れとしては,
1. CubeSuiteのハードウェア定義でPWMの使用を宣言し、コード生成 (スピーカ出力はPWMのCN4を使う)
2. PWM処理をする割り込み関数は _interrupt void MD_INTTM0 2 (void)

_interrupt void MD_INTTM0 2 (void)
{
 // pwm関係のコードをずらずら書く
}

3. 宣言した配列にwavのバイナリテキストを入れておき、上記関数内で呼び出す
4. 信号の流れは, CN4 => LPF => AMP => Speakerとなるように配線していく

結果, 音質はいまいちでした(´・ω・`)
ROM容量が制限されているので, サンプリングレートと量子化ビットはある程度は諦めないといけない。

次回はRS232C通信をやってみます。