上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top

 オシロの発送連絡がありましたので、多分明日には到着すると思います。楽しみです 。



   
 今回は昨日に引き続いて、簡単ですがPICによるオルゴールの1作目と2作目の違いについての説明図を用意しました。
Explain



 一作目との違いは、楽器の波形を一つ一つPWMで作りだすようにしていることです。波形は0~15の数値で強さを表したデータを1波形16バイトのテーブルで用意しておき、それを周期に合わせて取り出すようにしました。それ以外の制御は一作目と同じです。



 お試し用にHEXファイルも開示いたします。



「PIC12F675MUSIC.HEX」をダウンロード



 和音もパートごとに波形を生成しておいて、最後に両方のPWMのパルス幅を加算すればできるはずなのですが、今回は処理が間に合わなかったので断念してしまいました。



 PWM用のハードのあるチップ(12F683等)だったらソフトの負荷が減るので和音もできたな、と思っています。実際にWEBをみると683で和音を出されている方もおられます。


 なお、ついでに今回使ったPIC12F675と12F509、それと使っていませんがさらに機能強化された12F683の比較表を用意しましたのでご覧ください。



Pics  





FLASHやRAMサイズの違いはまあいいとして、最初の509では表の中で赤字で書いたメモリアクセスの制限で苦労しました。
 
 特に困ったのが「サブルーチンが下位256バイトにしかおけない」点です。PIC12系はテーブルデータを扱う命令がなく、テーブルデータはプログラムカウンタの操作とRETLW命令によるサブルーチンからのリターン値の組み合わせで取得するようになっています。



 つまりサブルーチン機能にかかわるのでテーブルデータも下位256バイト空間にしか置けない、ということになります。いったい何を考えてこうしているのか。。。。



 今回使った675ではそういう制限による苦労が一切なく、最初からこっちにすれば良かったと思いました。



 
 普通こういう制限は概要仕様にはでてきませんので、メモリサイズや単価を見て509を買ってあったのですが、安いだけのことはあったようです。LED制御とかのちょっとしたことなら十分なのでしょうが、ある程度のデータを扱う用途には向いていないと思います。



 もし趣味で12F系をお使い予定の方がおられましたら、509はやめて675か683を選択されることをお勧めします。趣味用なら単価の違いもそれほど問題とならないでしょうし。特にオルゴールみたいな用途でしたらPWMのある683の方が良いと思います。
 





今回は以上です。









 





にほんブログ村 その他趣味ブログ 電子<br /><br />工<br /><br />作へ
にほんブログ村 ←記事が面白かったらクリックしてやってください。





2010.07.01 Thu l 100円ショップ工作 l コメント (0) トラックバック (0) l top

コメント

コメントの投稿












トラックバック

トラックバック URL
http://diyelec.blog.fc2.com/tb.php/36-eb6d16df
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。