いまさらアセンブラでPIC
Home
ループによる時間稼ぎ
割込みを使って時間待ちしてもいいけど、時間待ち中に何もできなくても問題ないというときは古典的にループで時間待ち。
基本的な考え方を図示する。

上図のようにループ回数nを決めてループさせると5n+5サイクル分の時間が必要になる。n=255とすると、1280サイクルになる。PICが1サイクルに4クロックを必要とし、4MHzのクロックを与えていると1サイクルの時間は1マイクロ秒となる。だから1280サイクルなら1.28ミリ秒となる。
これをさらにループさせると設定した時間だけ何もしない関数が作成できる。
/MCLR
Master Clear。Lowになるとリセットがかかる。だから動作中はHighに保つ。
ブラウンアウトリセット
電源電圧が閾値よりも下がることでマイコンにかかるリセット。電源が不安定になったときの誤動作防止の目的で使用される。
VssとVDD
電界効果トランジスタを使っている回路の電源。極論するとVssがGND側、VDDが+電源側。sはソースのs、DはドレインのD。2回続けているのはソース電圧Vsやドレイン電圧VDと区別するためと言われている。
ウォッチドッグタイマ
マイコンを監視して停止や誤動作といった異常事態と判断したらマイコンをリセットするためのタイマ。正常時にはウォッチドッグタイマ回路に定期的に信号を送るようにしておく。この信号が設定時間内に来ない場合マイコンはリセットされる。
スタックメモリ
PICのスタックメモリーは8個なのであまりしつこくサブルーチンを呼ばないこと。
データシート
16F84Aのデータシート(英語)
16F88のデータシート(英語)
12F629/675のデータシート(英語)自分的なメモはこちら