とりあえず、マイコンのデータシート、上記で取得した日本語の資料「PIC16F877A」のドキュメント<PIC16F877A.pdf>を見てみましょう。P.9に「FIGURE 1-2: PIC16F874A/877A BLOCK DIAGRAM」というページがあるので見てみます。なんか初心者の私には良くわからない図ですねー。<ここは、今後判ってくるごとに随時更新かなぁ?>ちょっと下図にまとめてみました。
我々がプログラムを書き込む場所は「Flash Program Memory(8K)」部分。プログラム(の各)命令は「Instruction reg」で振り分けられ、演算ならMUXを通してALU(論理演算ユニット[計算機])に送られ演算が行われる。演算結果は「Wレジスタ」か「RAM File Registers」内の指定のアドレス位置に保存されます。以前の演算結果がWレジスタに残っていてそれを使いたい場合は、次回演算時にそれを利用出来ます。
マイコンから、電気のON/OFFや信号の入出力を送りたい場合は、「内部に組み込まれた周辺モジュール」のポートを制御します。
今、軽~ぅく、「内部に組み込まれた周辺モジュール」と言いましたが、PIC16F877Aの場合は、以下のものがあります。
No. | 周辺モジュール | 意味 |
---|---|---|
1 | Timer0、1,2 | タイマーモジュール。 |
2 | 10-bit A/D | A/D変換機。 |
3 | Data EEPROM | データ領域として使用するメモリ。 |
4 | CCP1,2 | キャプチャ/コンペア/PWM(CCP)モジュール。 ※「PIC16F877」のドキュメント<30292A_JP.pdf>の8章に記述あり。 |
5 | Synchronous Serial Port | 同期シリアルポート(SSP)。SPI( マスター/スレーブ)、I2CTM( マスター/ スレーブ)がある。 <マイコン間通信> |
6 | USART | シリアル信号をパラレル信号に変換したり、その逆方向の変換を行うための集積回路。 RS-232C規格に準拠する信号レベルに変換するICと組み合わせて、外部機器(PC等)との インタフェース(I/F)として利用する。 |
7 | Comparator | 二つの電圧または電流を比較し、 どちらが大きいかで出力が切り替わる素子。 |
8 | Voltage Reference | ???<よく判りません。後日対応します。> |
9 | Parallel Slave Port | パラレルスレーブポート。 |
※各々モジュールの使い方は、勉強を進めながら確認していきましょう。