第2部 「PICとの出会い」


PICは、メモリも入出力回路もみんな1個のICに入っている便利もの。特に PIC16F84は、メモリがEEPROMなので、何度でもプログラムを 即時消去し簡単に書き換えできちゃいます。といっても、複雑なことをさせるのが目的ではなく、周辺機器のスイッチを入れたり切ったりといったコントローラーとして使うのが本来の目的でしょうか。もちろん、プログラムを組む必要がありますが、PIC本体に書き込むので他に何もいらないのが便利です。

PICを使うには、プログラムを書き込む必要があります。プログラムはパソコンで作製するので、これをPICに転送する装置が必要です。キットで6,800円。まずこれを組み立てることから始めなきゃなりません。
組み上がった「PICライターボード」右のソケットにPICをはめ込んで、プログラムを書き込むわけです。ライターソフトもついてきます。パソコンとはRS232Cで接続。
これから、プログラムを開発せねばなりません。
プログラム開発中のパソコンの画面です。エディタで書きますが、持ってないので「メモ帳」で書く(笑)ま、どうせちっこいプログラムだし。。。。まずは、テキストでプログラムを保存。そのデータを「アセンブラ」とよばれるプログラムで機械語に変換します。これが、DOS上で動くのですが、WINDOWS XPのコマンドラインでは動かないんでやんの!そう、XPは、MS−DOS窓を持ってないんですねー。ふと思いついて「command」 と入力したら無事に動きました。わーい。出来た機械語ファイルを、ライティングソフトで読み込み、PICライターに転送して書き込みます。これが一連の流れ。。。。。。で、問題なのが。。。。
「私は、アセンブラがわからないし、やっとこともない」ってことです(爆)。。。。だって、文系だもーん!入門書を読みながらお勉強です。Cやベーシックのプログラムは出来ますが、MOVだのアドレスがどーのだの、低級言語はわからんぞー!なんだー、for〜NEXTも、IF文もないのかよぉ!(泣)。。。。。。ただし、入門書の初めはLEDを付けたり消したりすることなので、例文をパクっていじれば、目的となる動作は可能みたいです。そんなにむずかしくないぞ!ってんで、その日のうちになんとかプログラムを組み上げる(天才っ!)
PICへの書き込みもスムーズに言ったのですが、果たしてうまく動くのかどうか。。。。そう、試してみないといけませんね。右の写真は「ブレッドボード」というスグレモノでして、パーツを穴に差し込んでコードでつないで試験回路が組めるというものです。ハンダ付けもいらないし、自由に部品を組み替えることが出来ます。フォトカプラによる入力回路、PIC,LEDと抵抗、5Vを取り出すための3端子レギュレーター回路などを並べます。
で、テスト!。。。。。まったく動きません。そんなにプログラマーへの道は甘くはありませんでした。(笑)。。。。。。。。。。。。で、これから1週間、「プログラム書く、アセンブル、ライター読み込み、PIC書き込み、ブレッドボードに挿す、試す、失敗、PIC抜く、プログラム(以下繰り返し)。。。」という地道な作業を何十回と繰り返すハメになったのでした。
(凡人以下だった。。。。。)

start

    clr     rb
    clr     ra
    mov    !rb,#10000000b
    mov    !ra,#111111b
    call     opn
    mov    w,#1010101b ;H
main
    clr     rb
    clr r    a


    sb      rb.7
    call     dimm
だってねー、1部でもこんなわけのわからん記号の羅列なんよー。とりあえず、goto だのサブルーチンのCALLだの、とある条件の時は次の処理をする、といった3つはわかったので、処理は進むんですけどね。ループのさせ方もうまくいかなかったので、サブルーチンを繰り返し80回呼ぶなんて書き方もしてます。いいんだよ!、動けば!。。。。。。。でも、なんとか思った動作をしたときは、嬉しいよぉ。picは抜き差しのし過ぎで、足がもげかけるようになったし(ハンダで補強した。。。爆) 12Vを間違ってフォトカプラに直接つなぎ、一気に6個だめにしたり。。。。毎日仕事から帰っては、パソコンにかじりつく毎日でした(泣)苦労の甲斐あって、目的の動作がナントカできるようになりました。しかし、前述のような理由で、とてもじゃないけど、人様にお見せできるようなソースじゃないので、「門外不出」とさせていただきます。

「シフトインジケーターへの道」へ


トップページへ