説明付きのPICマイクロコントローラとそのアーキテクチャについて知る

問題を排除するために楽器を試してください





PICは ペリフェラルインターフェースマイクロコントローラー これは、1993年にGeneral InstrumentsMicrocontrollersによって開発されました。これはソフトウェアによって制御され、さまざまなタスクを実行して発電ラインを制御するようにプログラムされています。 PICマイクロコントローラーは、スマートフォン、オーディオアクセサリー、高度な医療機器など、さまざまな新しいアプリケーションで使用されています。

PICマイクロコントローラー

PICマイクロコントローラー



PIC16F84からPIC16C84に至るまで、市場には多くのPICがあります。これらのタイプのPICは、手頃な価格のフラッシュPICです。マイクロチップは最近、16F628、16F877、18F452などのさまざまなタイプのフラッシュチップを発表しました。 16F877の価格は古い16F84の2倍ですが、コードサイズの8倍であり、RAMとI / Oピン、UART、A / Dコンバーター、および多くの機能が追加されています。


PICマイクロコントローラーアーキテクチャ

ザ・ PICマイクロコントローラー RISCアーキテクチャに基づいています。そのメモリアーキテクチャは、プログラムとデータ用の別々のメモリのハーバードパターンに従い、別々のバスを備えています。



PICマイクロコントローラアーキテクチャ

PICマイクロコントローラアーキテクチャ

1.メモリ構造

PICアーキテクチャは、プログラムメモリとデータメモリの2つのメモリで構成されています。

プログラムメモリ: これは4K * 14のメモリスペースです。 13ビット命令またはプログラムコードを格納するために使用されます。プログラムメモリデータは、プログラムメモリのアドレスを保持するプログラムカウンタレジスタによってアクセスされます。アドレス0000Hはリセットメモリ空間として使用され、0004Hは割り込みメモリ空間として使用されます。

データメモリ: データメモリは、368バイトのRAMと256バイトのEEPROMで構成されています。 368バイトのRAMは複数のバンクで構成されています。各バンクは、汎用レジスタと特殊機能レジスタで構成されています。


特殊機能レジスタは、タイマーなどのチップリソースのさまざまな動作を制御するための制御レジスタで構成されています。 アナログ-デジタルコンバーター 、シリアルポート、I / Oポートなど。たとえば、ポートAの入力または出力操作を変更するためにビットを変更できるTRISAレジスタ。

汎用レジスタは、一時データの格納とデータの処理結果を格納するためのレジスタで構成されています。これらの汎用レジスタは、それぞれ8ビットレジスタです。

ワーキングレジスター: これは、各命令のオペランドを格納するメモリ空間で構成されています。また、各実行の結果も保存されます。

ステータスレジスタ: ステータスレジスタのビットは、命令が実行されるたびにALU(算術論理演算装置)のステータスを示します。また、RAMの4つのバンクのいずれかを選択するためにも使用されます。

ファイル選択レジスタ: これは、他の汎用レジスタへのポインタとして機能します。レジスタファイルアドレスで構成され、間接アドレス指定で使用されます。

もう1つの汎用レジスタは、13ビットレジスタであるプログラムカウンタレジスタです。上位5ビットはPCLATH(プログラムカウンタラッチ)として使用され、他のレジスタとは独立して機能し、下位8ビットはプログラムカウンタビットとして使用されます。プログラムカウンタは、プログラムメモリに格納されている命令へのポインタとして機能します。

EEPROM: 256バイトのメモリスペースで構成されています。 ROMのような永久メモリですが、マイクロコントローラの動作中にその内容を消去および変更することができます。 EEPROMの内容は、EECON1、EECONなどの特殊機能レジスタを使用して読み書きできます。

2. I / Oポート

PIC16シリーズは、ポートA、ポートB、ポートC、ポートD、ポートEの5つのポートで構成されています。

ポートA: これは16ビットポートであり、TRISAレジスタのステータスに基づいて入力ポートまたは出力ポートとして使用できます。

ポートB: これは8ビットポートであり、入力ポートと出力ポートの両方として使用できます。そのビットの4つは、入力として使用される場合、割り込み信号で変更できます。

ポートC: これは、動作(入力または出力)がTRISCレジスタのステータスによって決定される8ビットポートです。

ポートD: これは8ビットポートであり、I / Oポートであるだけでなく、に接続するためのスレーブポートとして機能します。 マイクロプロセッサ バス。

ポートE: これは、A / Dコンバータへの制御信号の追加機能を提供する3ビットポートです。

3.タイマー

PICマイクロコントローラは3つで構成されています タイマー 、そのうちタイマー0とタイマー2は8ビットタイマーで、Time-1は16ビットタイマーであり、 カウンター

4. A / Dコンバーター

PICマイクロコントローラーは、8チャンネル、10ビットのアナログ-デジタルコンバーターで構成されています。の操作 A / Dコンバーター ADCON0およびADCON1の特殊機能レジスタによって制御されます。コンバータの下位ビットはADRESL(8ビット)に格納され、上位ビットはADRESHレジスタに格納されます。動作には5Vのアナログリファレンス電圧が必要です。

5.オシレーター

発振器 タイミング生成に使用されます。 PICマイクロコントローラは、水晶やRC発振器などの外部発振器で構成されています。水晶発振器の場合、水晶は2つの発振器ピンの間に接続され、各ピンに接続されたコンデンサの値が発振器の動作モードを決定します。異なるモードは、低電力モード、水晶モード、および高速モードです。 RC発振器の場合、抵抗とコンデンサの値がクロック周波数を決定します。クロック周波数の範囲は30kHz〜4MHzです。

6. CCPモジュール:

CCPモジュールは、次の3つのモードで動作します。

キャプチャモード: このモードは、信号の到着時間をキャプチャします。つまり、CCPピンがハイになったときのTimer1の値をキャプチャします。

比較モード: これは、timer1値が特定の基準値に達したときに出力を生成するアナログコンパレータとして機能します。

PWMモード: それは提供します パルス幅変調 10ビットの分解能とプログラム可能なデューティサイクルを備えた出力。

その他の特別な周辺機器には、ソフトウェアの誤動作が発生した場合にマイクロコントローラーをリセットするウォッチドッグタイマーや、電力変動などが発生した場合にマイクロコントローラーをリセットするブラウンアウトリセットが含まれます。このPICマイクロコントローラーをよりよく理解するために、このコントローラーを操作に使用する1つの実用的なプロジェクトを示します。

車両の動きを検出すると光る街路灯

この LED街路灯制御プロジェクト 高速道路での車両の動きを検出して、その前の街路灯のブロックをオンにし、後続のライトをオフにしてエネルギーを節約するように設計されています。このプロジェクトでは、PICマイクロコントローラのプログラミングは 埋め込みC またはアセンブリ言語。

車両の動きを検出すると光る街路灯

車両の動きを検出すると光る街路灯

電源回路は、AC主電源を降圧、整流、フィルタリング、および調整することにより、回路全体に電力を供給します。高速道路に車両がない場合は、すべてのライトをオフのままにして、電力を節約できます。 IRセンサーは、車両の動きを感知して道路の両側に配置され、コマンドを マイクロコントローラー LEDをオンまたはオフに切り替えます。車両が近くに近づくとLEDのブロックが点灯し、車両がこのルートから離れると、強度が低くなるか、完全にオフになります。

ザ・ PICマイクロコントローラープロジェクト ビデオゲームの周辺機器、オーディオアクセサリなど、さまざまなアプリケーションで使用できます。これとは別に、プロジェクトに関するヘルプが必要な場合は、コメントセクションにコメントしてお問い合わせください。