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

 AD変換によるステッピングモーターの速度制御をあきらめて
 ましたが、割り込みとの組み合わせて、なんとか、
  240hz~1300hz
 のパルスの生成ができるようになりました。
 ステッピングモーターに接続して回してみると、見事、かなり低速
 から、結構高速、まで、制御できました。プログラムのソースコード
 を掲載します。参考になるかは、わかりませんが。
 デバック用につけているLCDのモジュールとヘッダーファイルも
 掲載しますが、ここのHPを参考にさせていただきました。
 速度変更----------main.c
 デバック用LCD表示----- lcd.c
 LCD表示用ヘッダーファイル--lcd.h
 このHPに出会わなかったら、ここまではできませんでした。
 実際にステッピングモーターを回してみると、加速や減速の
 過程で、昔の地下鉄電車の様な音がでます。
 
 あまりよく見えないのですが、ステッピングモーターのコントロール
 に入れている周波数もオシロで同時に映してみました。
 高速になるにつれて、パルスの幅が狭くなり、周波数が高く
 なるのが、なんとなく分かります。
 スピードコントロールのめどと、シュミットトリガーを入れたスイッチ
 の調整ができましたので、正転と反転のコントロールと、スタート
 ストップのコントロールのプログラムの
 作成に移ります。

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

===TMR0の罠===
 はまりました。TMR0の設定で、まるまる2日間。初期設定が
 プログラムに反映されませんでした。
 他の設定がだめなのか、制約があるのかネットで検索しま
 くりましたが、ヒットなし。お助け掲示板に書き込みました。
 しつこく検索続けていると、問い合わせのHPの過去記事に、
 「TMR0」の設定は、一回オーバーフローするともとに戻る。
 1回だけ有効の記事。目からうろこでした。
 プログラムを書き換えると、見事思った動作。思わず、
 「やった」と叫びたくなりました。
 丸二日間、悩みました。