OPTION レジスタ
このレジスタは、
・TMR0 プリスケーラ/ WDT ポストスケーラ(どちらかに割り当て可能なレジスタ)
・外部割込み
・TMR0、PORTBのプルアップ
の設定が出来るRead/Write可能なレジスタとのこと。
TMR0/WDT/PORTBと出てきましたが、まだこれらは勉強していないので判りません。判りませんが、これら機能の設定が出来るレジスタのようです。
OPTIONレジスタの(ビットごとの)設定
上位ビット:MSB 、下位ビット:LSB
1バイト | |||||||
---|---|---|---|---|---|---|---|
7ビット目 | 6ビット目 | 5ビット目 | 4ビット目 | 3ビット目 | 2ビット目 | 1ビット目 | 0ビット目 |
R/W-1 | R/W-1 | R/W-1 | R/W-1 | R/W-1 | R/W-1 | R/W-1 | R/W-1 |
RBPU | INTEDG | T0CS | T0SE | PSA | PS2 | PS1 | PS0 |
※R: Read可, W: Write可,-n: PORリセット後の値(”-x”は、不定値[か?])。
OPTIONレジスタの要素
No | ビット | 名前 | 説明 | 備考 |
---|---|---|---|---|
1 | 7ビット目 | RBPU | PORTB プルアップイネーブルビット | 1 = PORTB プルアップを使用しない。 0 = PORTB プルアップ(入力ピンのみ)。 |
2 | 6ビット目 | INTEDG | 割り込みエッジ選択ビット | 1 = RB0/INT ピンの立ち上がりエッジにより割り込み。 0 = RB0/INT ピンの立ち下がりエッジにより割り込み。 |
3 | 5ビット目 | T0CS | TMR0 クロックソース選択ビット | 1 = RA4/T0CKI ピンの入力。 0 = 内部命令サイクルクロック(CLKOUT)。 |
4 | 4ビット目 | T0SE | TMR0 ソースエッジ選択ビット | 1 = RA4/T0CKI ピンの入力がHigh からLow でインクリメント。 0 = RA4/T0CKI ピンの入力がLow からHigh でインクリメント。 |
5 | 3ビット目 | PSA | プリスケーラ割り当てビット | 1 = プリスケーラはWDT に割り当て。 0 = プリスケーラはタイマ0 モジュールに割り当て。 |
6 | 2ビット目 | PS2 | プリスケーラレート選択ビット | |
7 | 1ビット目 | PS1 | ||
8 | 0ビット目 | PS0 |
INTCON レジスタ
どう書くか悩みどころですが、そのまま設定を書いていきますね。勉強していない事が多いですが、今は無視して設定を書いていきますね。
このINTCONレジスタは、
・TMR0 レジスタオーバーフロー
・RBポート変化
・外部RB0/INTピン割り込みの各種イネーブルおよびフラグビット
の設定が出来るRead/Write可能なレジスタとのこと。割り込みの設定がここにあるようです。
『割り込み』という言葉が出てきます。ソフトというか(業務)アプリケーションを作成する方にはあまり耳にしない言葉ですが、機器制御ではよく出てくる言葉ですし大切な機能ですので、覚えておいて下さい。後の章で詳しく学習していきます。
INTCONレジスタの(ビットごとの)設定
上位ビット:MSB 、下位ビット:LSB
1バイト | |||||||
---|---|---|---|---|---|---|---|
7ビット目 | 6ビット目 | 5ビット目 | 4ビット目 | 3ビット目 | 2ビット目 | 1ビット目 | 0ビット目 |
R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-1 |
GIE | PEIE | T0IE | INTE | RBIE | T0IF | INTF | RBIF |
※R: Read可, W: Write可,-n: PORリセット後の値 (”-x”は、不定値[か?])。
INTCONレジスタの要素
No | ビット | 名前 | 説明 | 備考 |
---|---|---|---|---|
1 | 7ビット目 | GIE | グローバル割り込みイネーブルビット | 1 = すべてのマスクされていない割り込みを使用可能にする。 0 = すべての割り込みを使用不可にする。 |
2 | 6ビット目 | PEIE | 周辺割り込みイネーブルビット | 1 = すべてのマスクされていない周辺機能の割り込みを使用可能にする。 0 = すべての周辺機能の割り込みを使用不可にする。 |
3 | 5ビット目 | TOIE | TMR0 オーバーフロー割り込みイネーブルビット | 1 = TMR0 割り込み発生を使用可能にする。 0 = TMR0 割り込み発生を使用不可にする。 |
4 | 4ビット目 | INTE | RB0/INT 外部割込みイネーブルビット | 1 = RB0/INT 外部割り込みを使用可能にする。 0 = RB0/INT 外部割り込みを使用不可にする。 |
5 | 3ビット目 | RBIE | RB ポート変化割り込みイネーブルビット | 1 = RB ポート変化割り込みを使用可能にする。 0 = RB ポート変化割り込みを使用不可にする。 |
6 | 2ビット目 | TOIF | TMR0 オーバーフロー割り込みフラグビット | 1 = TMR0 レジスタがオーバーフローした(ソフトウェアでクリア要)。 0 = TMR0 レジスタがオーバーフローしていない。 |
7 | 1ビット目 | INTF | RB ポート変化割り込みフラグビット | 1 = RB0/INT 外部割り込みが発生した(ソフトウェアでクリア要) 0 = RB0/INT 外部割り込みが発生していない |
8 | 0ビット目 | RBIF | RB ポート変化割り込みフラグビット | 1 = RB7:RB4 ピンの状態が1ピン以上変化した(ソフトウェアでクリア要)。 0 = RB7:RB4 ピンは状態変化していない。 |