プログラムの書き込みと実行

【プログラムの書き込み】

シミュレータでデバッグが完了すれば、いよいよPICにプログラム
を書き込んで実際に実行させてみます。
ここまででやっとプログラムを実機で実行させることが出来ます。

(1)書き込みの準備
 PICライタをパソコンに接続し、ライタプログラムを起動します。
 PICライタも、ライタプログラムも幾つかの種類がありますが
 手持ちのもので進めます。

(2)チップをイレーズする。
 念のため一度PICの内容を消します。

(3)コンフィギュレーションを指定する
 PICのコンフィギュレーション(動作条件)を指定し準備します。
 このコンフィギュレーションは下記で指定します。
 このコンフィギュレーションは指定しないとPICは正常に動作
 しません。
  
   発振素子選択     → HSの高速クリスタル
   ウォッチドッグタイマ → 使用しない
   パワーオンリセット  → 使用する
   プロテクト      → しない

(4)書き込むプログラムを指定し書き込む
 今回のプログラムは、MPLABのプロジェクトのディレクトリの
 中に ledcont.hex というファイルがあるはずですので、それを
 指定します。

(5)書き込み完了したPICを実機に実装する。
 電源をOFFにして、PICチップをソケットに挿入します。

(6)電源ONで実行
 電源をONとすれば、そのままプログラムが実行されます。
 もちろん0番地から実行されます。
 キースイッチの1、2いずれかがONとなっていれば、どちらかの
 パターンの点灯制御が実行されます。
 キースイッチの両方がONとなっていたらどうなるか? 実際に
 試してみて下さい。



【動かないとき】

これで電源ONしても動かないときはどうすれば良いのでしょうか?
シミュレータで正常に動作することを確認して、実機で動作しない
ときは、下記のような原因が考えられますので、これらをチェックし、
それでもだめなときは、再度シミュレータで確認します。

(1)電源は正常か?
  5Vの電源がPICにかかっているかを、テスターなどで確認します。

(2)リセット端子はきちんと処置されているか?
  リセット端子を5Vにプルアップ、つまり、5Vに直接接続するか
 抵抗を介して5Vに接続していることが必要です。

(3)発光ダイオードが点灯する回路になっているか?
 念のために、PICのPORTBの端子をグランド(マイナス側)に仮の線
 で接続してみます。これで発光ダイオードが確かに点灯すれば、回路
 は正常です。

(4)クロックが発振しているか?
 これはオシロスコープで無いと確認は難しいでしょう。


【実機デバッグのコツ】

実際に実機にプログラムを実装して動かないときには、シミュレータに
頼ることになりますが、それでも分からないときに実機で何とかする
方法は無いでしょうか?

ICEというエミュレータでデバッグすれば、実機と全く同じ環境で確認
できますから、間違い無い方法ですが、我々アマチュア工作をする
ものにとっては高嶺の花です。

ではどうすれば良いのでしょうか?

方法はあります。

(1)入出力ピンを利用する。
 余っている入出力ピンのいくつかを出力モードに設定し、プログラムの
 途中で動作確認したい場所に、出力をONしたり、Offしたりする命令
 を挿入して実行させます。
 このピンの出力をオシロスコープや発光ダイオードなどで確認をする
 ことで、順次プログラムの実行具合を見て行きます。
 これでプログラムの流れの確認や、どこまで進んでいるかを確認する
 ことが出来ます。
 入出力ピンが余っていないときは、一時的に使い方を変更してしまい
 ます。

(2)強制的に流れを一定にする。
 判断命令で流れを変えている部分を、一時的に命令を変更し、一定
 の流れになるようにして、ある流れだけの動作を確認します。
 これを順次流れを変えて行きながら最終的に本来の流れで確認を
 します。

(3)ブザーなどを利用する。
 ブザーなど音の出るものを使っているときには、これを鳴らしたり、
 止めたりする命令を臨時に追加し、これを確認することで流れの
 確認をします。



    目次ページへ