Personal tools
You are here: Home Members ichiro Life + Radio BLOG PICのC化
Document Actions

PICのC化

by Ichiro Hieda posted at 2008-05-14 22:31 last modified 2009-06-05 11:20

もう,7〜8年前になりますが,PICで,エレキー,アンテナ切り替え器,FT-1000MPへPC音声送り込み機(ボイスメモリーDVS-2の代用)を作りました.

16F84で作ったのと,全部アセンブリ言語で作ったのとで,自分で修正するのもなかなかたいへんですし,機能拡張したり,他のPICへの移植はかなり困難です.

そこで,後々のことも考えて,プログラムをCに移植するプロジェクトに着手しました^^;

少しやってみると,条件分岐やループが非常に楽です.アセンブリ言語だと,

ステータスの変わるオペレーション
BTFSS  STATUS,Z
GOTO   どこか

なんてあったとき,Zeroフラグがセットされているときスキップだから,ゼロでないときにどこかに飛ぶんだな,といちいち考えないとなりません.BTFSCだとゼロフラグがセットされてないときスキップだから,ゼロでなくないときどかに飛ぶし,STATUS,2と書いてあったら,マニュアルを見なければ何のフラグか解りません^^; マニュアルを見ている間にゼロでないときか,ゼロでなくないときか忘れます^^;;

Cだと,

if (変数など) goto どこか;

でいいんですから.とはいえ,アセンブリ言語で書いたプログラムをCに変換するときは,さんざん悩みます.動かないときは,とりあえず!を付けてみたりして^^;;

いちおう,上記の三種については,今日までに完了しました.

ソースについても,順次公開していきます.エレキーは,まだ少々動作が怪しいので,もうしばらく自分で打ってみて,動作確認したいと思います.アンテナ切り替え器も検証中です.

あと,FOXハンティング用のFOXもありました.このプログラムのC化はまだ着手していませんが,そのうちやろうと思います.

詳細記事