目次>9章 PIC18F1320編 (03)1秒毎にLEDを点滅させて見る
1秒毎にLEDを点滅させて見る
更新日2008.7.20
2つのLEDを1秒毎に交互に点滅させて見ましょう。
1秒の時間はプログラムのループにより作成します。
実験回路
|
・ |
2つのLEDをRB0/RB1に接続した簡単な回路です。
前のページのスイッチを付けた回路でもそのまま使えます。(スイッチは使いませんが)
-
| |
680Ωの抵抗2本は、300Ω〜1KΩの範囲であれば何でもOKです。
|
クロックは、10MHzのセラミックレゾネータを使います。
- こちらは、ブレッドボードに組んだ状態です。
-
| | 回路図に無いもの(右上の6ピンヘッダ周り)が有りますが、これはICSP(In-Circuit Serial Programming)用の回路です。
秋月のPICライタを使うのであれば不要です。
|
|
仕様
|
|
単純な仕様で、RB0とRB1のLEDを1秒毎に交互に点滅させると言うものです。
|
プログラム
|
|
1秒の時間は、プログラムのループにより作成します。
今回も単純なプログラムですので詳細説明は省きます。
同様の事を、LEDを点滅させるで行っていますので参考にして下さい。
-
このプログラムで注目する点は以下の点です。
- CBLOCK 0x000
PIC16のSRAMは、先頭がSFR(特殊レジスタ)でその後にGPR(汎用RAM)があります。例えばPIC16F84AのGPRは、0x0Cから開始し、その前のアドレスにSFRがあります。
これに対し、PIC18ではSRAMの先頭からGPRとして使えます。SFRはSRAMの最後にあります。
このため、PIC16のように機種によるGPRの先頭アドレスの意識が不要です。
|
PIC18の勧め(Vol.2)
|
|
- その3. SRAMのメモリマッピングは機種共通
-
PIC18では、GPRの先頭アドレスはどの機種でも0x000で、PIC16のように機種毎の意識をすること無く使えます。
また、SFRはSRAMの最後のアドレス(0xFFF)から、アドレスの小さい方向に向かってマッピングされています。
|