--「PIC」プログラミング再び (14)---

 ハードの作成と、プログラムの作成を同時に進めてきました。
 やっと、制御部分のPICのプログラムとハードのテストがいい
 結果になりました。
 テストボードで、ハードの仮組をし、ソフトを確認しながら、手を
 加えて、プログラムを作成しました。
 今回は、PICを二つ使ってます。なんとも、もったいない使い方
 で、プログラムは、容量の20パーセントぐらいしかつかって
 ません。余分なコメントもありますが、掲載します。

 制御プログラム----main.c
 今回のプログラムは、タイマー0の割り込みと外部割り込み
 を使ってます。
 当初、押しボタンスイッチは、スタートとストップだけでしたが、
 急遽、リセットの押しボタンスイッチを追加しました。
 この、コントローラーは、ステッピングモーターの回転数と
 正転・逆転のコントロール、センサーで正転から逆転への
 切り替え、の動作を制御するだけです。
   自動で
     正転→センサーで逆転
   手動で
     正転 逆転 停止
 これだけの動作です。パルスをカウントして、その分だけ
 戻るようにすれば、停止も自動でできますが、ちょっと面倒
 ですね。確か、ワンパルスで1.8度ぐらい回転しますので、
 一回転には、360÷1.8=200パルス。
 リードが2ミリとすると5cm動くのには、
 200×50mm÷2=5000パルス往復では、
 5000×2=10000パルス。
 このくらいのパルス数なら、それほど苦労しなくてもカウント
 できそうですが、まあ、この次の課題ですね。
 ちなみに、unsigned int の整数だと
       0 ~ 65535
 カウントが可能ですので、Long型の整数を使わなくても
 大丈夫のようです。ここまで細かいプログラムを組むと、
 CNCになってしまうので、CNCにしてしまったほうが楽
 でしょうね。