BASIC COMPILER & PIC WRITER



 PICは便利なコントローラーです。その昔、TK-85でハンドアッセンブルしていた頃に比べると隔世の感があります。PICは周辺ICも要らずI/Oがダイレクトにいじれますから、ちょっとしたいたずらには最適です。ほとんどの用途は16F84なる13ビットのI/Oを持つPICで処理できます。クロックスピードも20MHzで大変高速です。
 ほとんどの方はMPLABという開発環境で、MPASMを使ってアッセンブルしているのではないでしょうか?私も最初はこの「正攻法」でPICを攻めようと思っていましたが・・・・・どうも、軟化の始まった頭がアセンブラを受け付けません。作ったプログラムがすぐ、わからなくなってしまうのです。メッセージをたくさんつけようが、メッセージ自体の意味がわからなくなるのだから、始末に負えません。(我ながら「あほ」だなあ・・・・)



 そんなとき、救世主のごとく現れたのがPIC BASIC COMPILERでした。これは、まず、インタープリターではなくコンパイラーであるという点が見逃せません。コンパイル後のコードはアセンブラより若干大きくなるのでしょうが、速度的にはほとんど変わらないと思います。次に、IF THEN ELSE ENDIFの構文が使えるので、条件判断が極めて楽にできます。サブルーチンのネスティングはPICの能力どおり8段ですし、先ほどの条件分岐の「入れ子」もやり放題?です。また、シリアル通信のための命令やLCDディスプレイ用命令など、とにかく「あったらいいな」という便利な命令がほとんど揃っています。さすがに算術演算関係は浮動小数点なんぞは使えませんが、「コントローラ」としていじるなら、十分な命令体系です。さらには、販売元で質問と答えをやり取りするBBSもあり、活発に情報交換されています。私も、割り込みのコーディングの関係でお世話になりました。
 もともと、PICはDDSのコントローラに使おうと思って調べ始めたのですが、自力でアセンブラを駆使できるか不安だったところ、このツールの入手でき、非常にタイムリーでした。小さなプログラムから始めて、サブルーチンを作りためて、それらを組み合わせて、機能をひとつずつ実現していく過程は、大変面白く感じました。プログラム開発の実際は以下のようになります。

<サブプログラム>構想を練る⇒SOURCEを書く⇒COMPILE⇒PIC WRITERで書き込み⇒動作確認
<メインプログラム>サブプログラムをメインに移植⇒COMPILE⇒PIC WRITERで書き込み⇒動作確認

の過程を踏んで、実際に機能がつみ上がっていきます。サブプログラム毎に動作を確認しておくと、メインに結合してもほとんどバグは出ません。結構なツールを手にしたと喜んでいます。また、このBASIC COMPILERもMPLABに統合して使うこともできるようで、その場合には、いろいろなところで内部レジスタをみたり「プロライク」なデバッグができると思います。私はそこまで必要なく、上記の方法で十分デバッグができました。

ソースを書くエディタは秀丸、コンパイルはDOS窓で実行、焼きこみはWIN上で秋月のプログラム実行という環境が便利で、WIN-98上で開発にかかわる全ての作業が完結するので、便利に使ってます。XPとかではDOSが無いので、こういう便利な使い方はできなくなるでしょうから、まだまだ、WIN-98は(ハングアップが多く不安定ですが)、無理して使わざるを得ないかもしれません。

下の写真は秋月PIC WRITERです。制御I/Oの多い16F877も書き込みできる万能タイプです。
16F877は1000円もしますが、これは33ビット制御+AD付きですから、アマチュアのいじる領域ならほとんどカバーできそうですね。







































































確認