PCのCOM端子は RS232Cと呼ばれる簡単な手順でシリアル通信が可能です。PIC側にこの端子と受信回路を用意すると、PCとPICとのデータ送受信が可能になります。下図は、COM端子に接続するコネクタです。ソケットは4列と5列の9ピンで、5列の左端が5ピンとなります。2(RX:受信),3(TX:送信),4(DTR:制御線),5
ピン(グランド)に信号線が接続されています。
COM端子は最近小型のPCには装備されなくなりましたが、多くのデスクトップPCに装備されている、簡単な手法でデータ交信を可能にする端子です。昔は、COM端子に「モデム」を接続し、モデムを電話線に接続してネットワークしていました。COM端子は、同時に接続できる機器は1台に限定されます。通信速度もLANやUSBと比較して、かなり遅くなります。
マイクロローダは、PC用のプログラム送信機能とPIC用のプログラム受信・書き込み機能とを組み合わせた、Mecanique 社の製品です。マイクロローダを利用するには、PIC側にRS232Cのハードウエア(割り込み)による受信機能と、プログラムROM書き込み機能が必要です。16Fシリーズでは、16F873A、16F88 などがこれらの条件を備えています。
プログラムを受信するには最初にPICをリセットする必要があります。このため、通常の送受信では利用しないRS232Cの DTR 信号をPICのリセット信号として使用します。PICのリセット端子(1ピン)は通常Hレベルにする必要がありますから、DTR
信号を抵抗を通して リセット端子に接続する必要があります。リセット端子がLレベルになると、PICは0番地から実行を開始します。これで、PICのブートローダが実行を開始します。
0番地から実行を開始しても、指定時間以内にRs232Cからのデータが到着しない場合、ブートローダは書き込まれたプログラムの実行を開始します。
マイクロローダでプログラムを書き込むため、予め「ブートローダ」のプログラムを書き込んだPCを利用する必要があります。COM端子のソケットの2ピンはPCの受信端子になります。PICの送信信号(C6/TX)をMAX232のT2IN端子に出力し、レベル変換した信号を、COMの受信信号端子:RX(2ピン)に接続します。逆に、COMの送信端子:TX(3ピン)をMAX232のR2INに変換し、レベル変換した信号をPICの受信端子(C7/RX)に接続します。
COMのDTR(4ピン)は制御用の信号ですが、ここでは、PICをリセットするために利用しています。DTRをR1Oから取り出し、これを、PICの
CLR(1ピン:LレベルでPICをリセットする)に接続します。R1OをLEDのグランド側に接続し、リセットされると LED が点灯するようにします。
マイクロローダは、PC側のソフトで、*.hex ファイルを COM 端子を通して、PICに送信します。まず、メニューから microloader を起動します。
マイクロローダのメニューに接続するCOM端子の番号を設定します。他に COM 端子を利用していなければ COM1 を利用します。COM端子はデスクトップ機などでは2個実装される場合があります。タイトルバーの下のCOM1
のメニューで選択します。ノートパソコンではCOM1端子を選択します。
FIleメニューの「open」でPICに送るプログラムファイル(.hex)を選択します。このファイルはコンパイルが成功すると、ソースファイルと同じフォルダに生成されています。読み込むと、ファイルの内容が16進で表示されます。
マイクロローダーの 「program」 ボタンを押します。PIC側でプログラムを実行中でも、リセットがかかり、制御がブートローダに移ります。ブートローダはプログラムをRS232Cから受け取り、プログラムメモリに書き込み、その後実行を開始します。
PICは電源を再投入してもリセットされます。リセットするとブートローダの実行が開始されますが、RS232Cからの信号がこない場合、ブートローダは、書き込まれたプログラムの実行を開始します。したがって、マイクロローダの接続がない場合でも、書き込まれたプログラムの実行が可能です。