質問: picで内部タイマーを使わずカウントダウンする方法 こんにちは。 今回、picのプログラムをアセンブラで組むことになりました。 その中で「100ミリ秒間、あるポートからの入力を監視する」という部分があり、 これを内部タイマーなどは使わずに実装するとします。 自分なりには、 picのクロック数とループ内のサイクル数で 何回ループを回せばよいのかを予め計算しておいて その回数だけループを回せばよいのかな? と考えました。。。 しかしループ内のサイクルがせいぜい数μsですので、 100msecとなると10万回単位でループを回さなければなりません。 しかしpicでは変数が8bitしか無いので255までしかカウントできないと思うのですが、 こういう大きい数字のカウントをしたい場合、どうしたら良いのでしょうか? 宜しくお願いします。
回答: ネストで回すのと同じ考え方ですが、アセンブラなので違う書き方をすると、 カウンタのカウンタを作ればいいでしょう。 カウンタが0から255に来たら、一回まわったとして別のカウンタをプラス1して 255になったカウンタは0に戻すわけです。 結局、8bitxnのカウンタを自分で作るわけですね。