PICコントローラーソフトウェア

はじめに


PICコントローラーは、管理に高い要件を必要とせず、低消費電力で安価なコンパクトシステムを作成する必要がある場合に人気があります。 これらのコントローラーにより、ハードウェアロジックを、適切なポートを介して外部デバイスと通信する柔軟なソフトウェアツールに置き換えることができます。

ミニチュアPICコントローラーは、シリアルデータ伝送インターフェイスのコンバーターの構築、「受信-プロセス-データの転送」機能、および自動制御システムのシンプルなコントローラーの実装に適しています。

マイクロチップ社は、プログラマーを介してPICマイクロコントローラーにバイナリファイルを書き込む、統合された無料のプログラム編集およびデバッグ環境であるMPLABを配布しています。

MPLABとMatlab / Simulinkの相互作用により、Simulinkの環境でPICコントローラー用のプログラムを開発できます-動的システムのグラフィカルなモデリングと分析。 このペーパーでは、以下のセクションで、PICコントローラーのプログラミングツールMPLAB、Matlab / Simulink、およびPIC-KIT3プログラマーについて説明します。

•小型PICコントローラーPIC12F629の特性
•統合開発環境MPLAB IDE
•Matlab / SimulinkをMPLABに接続
•PIC-KIT3プログラマーの接続

ミニチュアPICコントローラーの機能


PIC12xxxファミリには、クロックジェネレータを内蔵した小型の8ピンパッケージのコントローラが含まれています。 コントローラーにはRISCアーキテクチャがあり、1マシンサイクルでほとんどのプロセッサー命令の実行を提供します。

たとえば、多機能ポート、低消費電力、広い電力範囲を備えた安価なコンパクトな8ビットPIC12F629コントローラーの特性を以下に示します[1]。

•アーキテクチャ:RISC
•VDD電源電圧:2.0V〜5.5V(<6.5V)
•消費:
-<1.0 mA @ 5.5V、4 MHz
-20μA(標準)@ 32 kHz、2.0V
-SLEEP @ 2.0Vモードで<1.0μA(標準)
•消費電力:0.8W
•多機能入力/出力チャンネル:6/5
•GPIOポートの最大出力電流:125mA
•プログラム可能な内部プルアップポート抵抗を流れる電流:≥50(250)≤400μA@ 5.0V
•コントローラー容量:8
•外部ジェネレーターからのクロック周波数:20 MHz
デューティサイクル:200 ns
•内部RCジェネレーターからのクロック周波数:4 MHz±1%
マシンサイクル期間:1mks
•フラッシュプログラムメモリ:1K
消去/書き込みサイクルの数:≥1000
•RAMデータメモリ:64
•EEPROMデータメモリ:128
消去/書き込みサイクルの回数:≥10K(-40°C≤TA≤+125°C)
•専用ハードウェアレジスタ:16
•コマンドのリスト:35命令、すべてのコマンドは1マシンサイクルで実行されます。
2サイクルで実行される移行コマンドを除く
•ハードウェアスタック:8レベル
•タイマー/カウンターTMR0:プリセレクター付き8ビット
•タイマー/カウンターTMR1:プリセレクター付き16ビット

追加機能:
•パワーオンリセット(POR)
•タイマーのリセット(PWRT Generator Start Waiting Timer(OST
•電源電圧を下げるためにリセット(BOD)
•WDTウォッチドッグ
•多重化ピン-MCLR
•入力で信号レベルを変更するための割り込みシステム
•入力ごとに個別にプログラム可能なプルアップ抵抗
•プログラム可能な入力保護
•スリープ低電力モード
•クロックジェネレーターの動作モードの選択
•2つのピンを使用したインサーキットICSPプログラミング
•4つのユーザーセルID

E実行の極端な動作温度(拡張範囲)-40°C〜+125°C。
-65°Cから+ 150°Cまでの保管温度

CMOSコントローラーテクノロジーは、クロックを停止しても内部ノードの論理状態が失われない完全に静的な動作モードを提供します。
PIC12F629マイクロコントローラーには、6ビットGPIO I / Oポートがあります。 GP3ポートGPIOの1つのピンは入力でのみ機能し、他のピンは入力と出力の両方で機能するように構成できます。 各GPIOピンには、入力の信号レベルを変更するための個別の割り込み有効ビットと、内部プルアップ抵抗の有効ビットがあります。

MPLAB IDE統合開発環境


MPLAB IDE-PICマイクロコントローラー用の無料の統合ソフトウェア開発環境には、プログラムの作成、編集、デバッグ、翻訳、リンク、プログラマーによるマイクロコントローラーへのマシンコードの書き込みのためのツールが含まれています。

MPLAB IDEをダウンロード

無料のMPLABバージョン(MPLAB 8.92を含む)は Microchip Webサイトの「アーカイブのダウンロード」セクションに保存されています。

プロジェクト作成

MPLAB環境でPICコントローラープログラムのプロジェクトを作成する例には、次の手順が含まれます[2]。

1.プロジェクトマネージャーを呼び出します。


2. PICマイクロコントローラーのタイプを選択します。


3.アセンブラー用のMicrochip MPASMなどのコンパイラーの選択。


4.プロジェクトディレクトリへのパスを選択し([参照...]ボタン)、プロジェクト名を入力します。

5.プロジェクトウィザード→ステップ4ウィンドウでファイルをプロジェクトに接続することはできません。 これは、後でアクティブなプロジェクト内で実行できます。 [次へ]ボタンをクリックすると、次のウィンドウが開きます。

6.プロジェクトの作成を完了します(Finishキー)。

FirstPrMPLABプロジェクトを作成した結果、MPLABインターフェイスは図3に示す形式を取ります。 1。


1 MPLAB v8.92環境インターフェイスとプロジェクトテンプレート。

プログラムファイルを作成する
プログラムは、任意のテキストエディターを使用して作成できます。 MPLABには、たとえばソーステキストの字句解析をすばやく行うなど、多くの利点を提供する組み込みエディターがあり、その結果、予約語、定数、コメント、ユーザー定義名がテキストで強調表示されます。

MPLABでのプログラムの作成は、次の順序で実行できます。

1.プログラムエディターを開きます:メニュー→ファイル→新規。 最初は、プログラムの名前はUntitledです。

2.アセンブラーなどでプログラムを入力またはコピーします。

3. FirstPrMPLAB.asmなどの別の名前でプログラムを保存します(メニュー→[ファイル]→[名前を付けて保存])。


2 最大周波数でコントローラーGP0、GP1、GP2、GP4、GP5のポートを介して信号を出力するための単純なプログラム(アセンブラー内)の例。

TRISIOレジスタのビットのエントリ「1」は、対応する出力バッファーを3番目の状態に転送します。この場合、GPポートは入力でのみ機能します。 TRISIOのゼロ化により、GPポートが出力に設定されます。

ご注意 PIC12F629仕様によれば、マイクロコントローラーのGP3ポートは入力に対してのみ機能します(TRISIOレジスタの対応するビットはリセットされず、常に「1」になります)。

TRISIOおよびGPIOレジスタは、メモリ領域の異なるバンクにあります。 バンクの切り替えは、STATUSレジスタの5番目のビットによって実行されます。

すべてのアセンブラープログラムはorgディレクティブで始まり、endディレクティブで終わります。 goto Metkaトランジションは、ループプログラムを提供します。

次の表記がプログラムで使用されています(図2)。

LISTディレクティブ-コントローラータイプの割り当て
__CONFIGディレクティブ-コントローラー構成ビットのビットを設定します
EQUディレクティブ-数値の割り当て
Org 0ディレクティブ-アドレス0からプログラムの実行を開始
bsfコマンド-指定されたレジスタのビットを1に設定します
bcfコマンド-指定されたレジスタのビットを0にリセットします
Movlwコマンド-定数をWレジスタに書き込みます
Movwfコマンド-レジスタWの内容を指定されたレジスタにコピーします
Gotoコマンド-ラベルのある行に条件なしでジャンプを提供します
終了ディレクティブ-プログラムの終了

必要なマイクロコントローラー構成の設定
PIC12F629マイクロコントローラーの構成は、コンフィギュレーションワードの設定(2007h)に依存します。これは、__ CONFIGディレクティブを介してプログラムで設定できます。

直接またはMPLABウィンドウから:メニュー→設定→設定ビット:



どこで:
ビット2-0 -FOSC2:FOSC0。 クロック選択
111-外部RCジェネレーター。 GP5ピンに接続します。 GP4はCLKOUTのように機能します
110-外部RCジェネレーター。 GP5ピンに接続します。 GP4は入力/出力として機能します
101-内部4 MHzオシレーター。 GP5は入力/出力として機能します。 GP4-CLKOUTのような
100-内部4 MHzオシレーター。 GP5およびGP4は入力/出力として機能します
011-ECジェネレーター。 GP4は入力/出力として機能します。 GP5-CLKINのような
010-HCジェネレーター。 レゾネーターはGP4とGP5に接続します
001-XTジェネレーター。 レゾネーターはGP4とGP5に接続します
000-LPジェネレーター。 レゾネーターはGP4とGP5に接続します

ビット3 -WDTE:ウォッチドッグタイマー設定
1-WDTE有効
0-WDTEオフ

ウォッチドッグタイマーは、マイクロコントローラーがフリーズするのを防ぎます-タイマーがリセットされていない場合、特定の時間間隔後にプログラムを再起動します。 タイマー周期はOPTION_REGレジスタで設定されます。 ウォッチドッグタイマーのゼロ化は、CLRWDTコマンドによって呼び出されます。

ビット4 -PWRTE:パワーオンタイマーを有効にする:
1-PWRTオフ
0-PWRT有効

VDD電源が供給されると、タイマーはリセット状態でマイクロコントローラーを遅延させます。

ビット5 -MCLR:GP3 / -MCLR出力モードの選択
1--MCLRとして機能
0-GP3 I / Oポートとして機能

ビット6 -BODEN:電源電圧を下げるためのリセットイネーブル(通常<2.0V)
1-BORリセットが有効
0-無効なBORリセットタイマーが自動的に開始します

BORリセットが有効になると、PWRTタイマーが自動的に開始します

ビット7 -.CP:プログラマーによるプログラマー読み取りメモリ保護ビット
1保護オフ
0保護が有効

保護をオフにすると、すべてのプログラムメモリが消去されます

ビット8 -.CPD:データメモリEPROM保護ビット
1保護オフ
0保護が有効

保護をオフにすると、すべての情報が消去されます

ビット11-9-未使用:「1」として読み取られます。

ビット13-12 -BG1:BG0。 パワーダウンリセットキャリブレーションビット
00-キャリブレーションの下限
11-キャリブレーションの上限

プロジェクトへのプログラムの追加

プロジェクトにプログラムを追加する例を(図3)に示します。


FirstPrMPLAB.asmプログラムをFirstPrMPLAB.mcpプロジェクトに追加する

次のコマンドを使用してプロジェクト資料を保存できます:メニュー→ファイル→ワークスペースを保存。

編集


ファームウェアマイクロコントローラー用の16進数の拡張子を持つバイナリファイルを作成するには、プロジェクトをコンパイルする必要があります。 コンパイルは、メニューコマンド→プロジェクト→すべてビルドで開始します。 コンパイル結果は、[出力]ウィンドウに表示されます(図1)。 プログラムにエラーがない場合、コンパイラはコンパイルの成功に関するメッセージを表示します:BUILD SUCCEEDED、ブートHEXファイルは作業ディレクトリにあります:


プログラムのデバッグ


MPLAB REAL ICEハードウェアエミュレータまたはMPLAB SIMソフトウェアシミュレータを使用して、MPLAB IDE環境でプログラムをデバッグできます。 後者の起動は図に示すように実行されます。 4。


4 プログラムをデバッグするためのMPLAB SIMシミュレーターへの接続。

デバッガーを起動すると、MPLAB SIMタブが出力ウィンドウ(図1)に表示され、MPLABに現在のデバッガー情報が表示されます。 デバッガーコマンド(図5)は、起動後にアクティブになります。


5 デバッガーコマンド

デバッガーコマンド:

•実行-ブレークポイント(ブレークポイント)がインストールされている場合、プログラムを継続的に実行します。
•停止-現在の実行ステップでプログラムを停止します。
•アニメーション-継続的なプログラム実行のアニメーション。
•ステップイン-段階的に実行します(呼び出しは1つのステップで完了します)。
•ステップオーバー-呼び出しコマンドを含む手順を実行します。
•リセット-プログラムの初期インストール。 ポインターを最初のコマンドに移動します。
•ブレークポイント-ブレークポイントのリストを表示します。 リスト処理。

プログラムをステップで実行すると、現在のステップが矢印で強調表示されます(図6)。 Haltコマンドによって、またはプログラムがブレークポイントに達すると、プログラムの連続実行が停止します。 ブレークポイントは、プログラム行でダブルクリックして設定/削除されます。
最大速度でコントローラーポートの状態を変更するアセンブラープログラムの例を図に示します。 6(右)。 プログラムはb'10101010 'およびb'01010101'をGPIOポートレジスタに転送します。 GPIOレジスターでは、コントローラーポートへのデータ転送はすべてのビットではなく、0、1、2、4、および5だけで実行されるため、GPIOレジスターの状態(図6左)は値b'00100010およびb'00010101によって異なります。


6 プログラム実行時のコントローラーの特殊レジスターの状態(左側)およびステップで実行されるプログラム(右側)。

デバッグ中に、メインメニューの[表示]セクションで開く対応するウィンドウで、レジスタ、変数、メモリの状態を監視できます。 デバッグ中に、プログラムコード、レジスタの内容、メモリを変更し、変数の値を変更できます。 コードを変更した後、プログラムを再コンパイルする必要があります。 レジスタ、メモリ、および変数の値(ビューのウィンドウ:特殊機能レジスタ、ファイルレジスタ、EEPROM、ウォッチセクション)を変更する場合、再コンパイルは不要です。

マイクロコントローラモデルのポートの入力信号は、[デバッガ]→[刺激]セクションで設定できます。 ポート信号の設定可能な状態は、デバッグ時間(クロック)に関連付けられています。

デバッグモードでプログラムを実行した結果が、実際のコントローラーでの同じプログラムの実行に対応しない場合があります。たとえば、movlw 0x07およびmovwf cmcon命令のないプログラムデバッガー(図6)は、GPIOレジスタの出力GP0およびGP1が変更されていないことを示します-それらはゼロ状態では、GPIOレジスタの内容は交互に0x14と0x20です。 ただし、指定された命令なしでプログラムを実行するコントローラーは、オシロスコープ上で5つの出力すべて(GP0とGP1を含む0x15と0x22)の周期動作を示します(図7を参照)。

プログラムサイクルを実行するコントローラーのオシログラム 6(Metka ... goto Metka)を図に示します。 7。


PIC12F629マイクロコントローラーのGP0出力(左)とGP1(右)のオシログラム、内部4MHz RCジェネレーターを使用。 プログラム(図6)は、コントローラーのすべての出力で最大周波数信号を生成します。 5.3μsの信号の期間にわたって、5つのコマンドが実行され(6マシンサイクル)、波形上のGP0信号の振幅は4.6 V、コントローラーの電力はプログラマーによって4.75 Vが測定されます。

マイクロコントローラーファームウェア


プログラムをマイクロコントローラー(コントローラーファームウェア)に書き込むには、マイクロコントローラーをプログラマーを介してMPLAB IDE統合環境に接続する必要があります。 接続の構成は、以下の「PIC-KIT3プログラマーの接続」セクションに示されています。

ご注意 内部クロックの周波数を設定するための工場出荷時のキャリブレーション定数は、PIC12F629コントローラーに書き込まれます。 必要に応じて、プログラマを使用してMPLABを使用して読み取りおよび復元できます。

プログラマと連携して設定を変更するためのコマンドは、MPLABプログラマメニューにあります。 MPLABのプログラマーのタイプは、[メニュー]→[プログラマー]→[プログラマーの選択]セクションで選択します。


8 MPLAB環境に接続するプログラマーを選択します。

プログラマーを介したマイクロコントローラーのファームウェアは、コマンド→メニュー→プログラマー→プログラムによって開始されます。 ファームウェアの成功に関するメッセージを図に示します 9。


9 マイクロコントローラのファームウェアを起動し、成功したファームウェアに関するメッセージの種類。

注:マイクロコントローラーのファームウェアの実行中、PIC-KIT3プログラマーは黄色のLEDを点滅させます。

MATLAB / SIMULINKをMPLABに接続


グラフィックプログラミング言語[7]での動的システムSimulink(Matlabへの応用)のモデリングシステムでは、ADC / DAC、カウンター、タイマー、PWM、DMA、UART、SPI、CAN、I2Cなどを備えたPICファミリーのコントローラー用のプログラムを開発できます。

Simulink PICコントローラープログラムの例を図に示します。 10。


10 ダイナミックシステムSimulinkのシミュレーション環境で実行されるPICコントローラー用のグラフィカルプログラミング言語のサンプルプログラム。

SimulinkでのPICコントローラーの開発ツールとコンパイルツールの相互作用を図に示します。 11 [6]。


11 グラフィカルプログラミング言語でのPICコントローラーの適切なモデルの構築ツールの構造。

開発環境を構築するには、次のMatlabコンポーネントが必要です。

•Simulink
•Real-Time Workshop Embedded Coder
•リアルタイムワークショップ

そして、Microchip Cコンパイラ:

•PIC24、dsPIC30およびPIC33コントローラー用のC30
•またはPIC32シリーズコントローラー用のC32

Matlabコンポーネントのインストール


このサイトには、R2006aからR2012aまでのPICコントローラーおよびMatlabバージョン用のSimulinkライブラリ(dsPIC Toolbox)があります。

ライブラリをダウンロードするには、登録する必要があります。 このプログラムは、PIC 16MC、24F、30F、32MC、33F、56GP、64MC、128MC、128GPシリーズの100個のマイクロコントローラーの動作をサポートしています。
無料版は、最大7つの入出力ポートを備えたPICコントローラーのSimulinkモデルで動作します。

Matlab / Simulink用のPICコントローラーブロックのライブラリであるdsPIC Toolboxをインストールするには、[4]が必要です。

•Matlabの必要なバージョンのdsPIC Toolboxをダウンロードします。
•Simulinkブロックがインストールされるフォルダーでzipファイルを解凍します。
•Matlabを起動します。
•現在のMatlabディレクトリを、解凍されたファイルのあるフォルダーに設定します。
•たとえば、メニューボタンまたはキーボードキーを使用して、install_dsPIC_R2012a.mファイルを開いて実行します。

dsPICライブラリとSimulinkモデルの例は、現在のMatlabフォルダーにインストールされます(図12)。 PICコントローラのモデリング用にインストールされたブロックは、SimulinkライブラリのMicrochip dsPICセクションのEmbedded Targetセクションで利用できます(図13)。


12 install_dsPIC_R2012a.mが実行された後の現在のディレクトリの内容。


13 インストール済みライブラリ「Microchip dsPICの組み込みターゲット」をブロックします。

MatlabとMPLABを使用してSimulinkモデルを一緒にコンパイルするには、環境変数パスMatlabでファイルMplabOpenModel.m、MplabGetBuildinfo.mおよびgetHardwareConfigs.mを使用してMPLABディレクトリへのパスを最も高い優先度で指定する必要があります。

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

C MPLAB Compilerのインストール


MPLABコンパイラは、マイクロチップ社のWebサイトで入手できます(ダウンロードアーカイブ→PIC24およびdsPIC DSC用MPLAB Cコンパイラ)。 C30コンパイラのデモバージョンをインストールするには、リンクPIC24 / dsPIC v3.25(図14)でダウンロードし、受信したファイルmplabc30-v3.25-comboUpgrade.exeを実行する必要があります。


14 Cコンパイラのバージョン(左)とインストールモード(右)。

ご注意 作業は、PIC24 / dsPIC用のC30コンパイラのバージョンv3.25で行われました。 検証により、次のバージョンv3.30はエラーなしでMatlab R2012aモデル(dsPIC Toolbox)の共同コンパイルをサポートしていないことが示されました。

インストールexeファイルは、c:\ Program Files(x86)\ Microchip \ newディレクトリmplabc30にファイルを作成します。


15 C30 MPLABコンパイラディレクトリ。

PICコントローラーのSimulinkプログラミングシーケンス

1.作業ディレクトリを作成し、* .mdlサンプルをサンプルセクションからコピーします(図12を参照)。
2. Matlabをダウンロードします。 作業ディレクトリに設定します。
3. MPLABへのパスを最も優先度の高い環境変数Matlabに含める-c:\ Program Files(x86)\ Microchip \ MPLAB IDE \ Tools \ MATLAB \:

 >> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

注:引数なしで>> pathコマンドを使用すると、コマンドウィンドウにパス変数のパスのリストが表示されます。 rmpathコマンドを使用して、パス変数からパスを削除できます。次に例を示します。

 >>rmpath(' c:\Program Files\Microchip\MPLAB IDE\Tools\MATLAB\') 

4. 「Embedded Target for Microchip dsPIC」ライブラリブロックを使用してPICコントローラー用のSimulinkモデルを作成するか(図13)、既製のモデル(たとえばServo_ADC.mdl)を読み込みます。

Simulinkモデルが開発されるコントローラーのタイプは、Master> PICブロック(図16、図10)のリストから選択され、モデルに含める必要があります。


16 マスターモデルブロックでコントローラーのタイプを選択します。

5.モデルの構成設定を確認します:メニュー→シミュレーション→構成パラメーター<Ctrl + E>。 コード生成セクションのシステムターゲットファイルのエントリ行には、S-Functionコンパイラdspic.tlcが含まれている必要があります(図17)。 dspic.tlcを選択すると、ステップや統合方法など、他のすべてのモデル構成パラメーターが構成されます。


17 「メインメニュー→シミュレーション→構成パラメーター→コード生成」セクションで、PICコントローラーモデルのdspic.tlc S-functionコンパイラーを選択します。

6. tmp_Servo_ADC.mdlモデルをコンパイルします。 コンパイラの開始は図に示されています。 18。


18 Simulinkモデルのコンパイラーを実行します。

現在のディレクトリにコンパイルが成功した結果(メッセージ:###モデルのビルド手順が正常に完了しました:Servo_ADC)、PICコントローラーとMCP MPLAB環境プロジェクトをフラッシュするためのHEXファイルが作成されます(図19)。


19 モデルのコンパイル結果。

モデルは、ボタンを使用してモデルウィンドウのMatlab / Simulinkで起動され、条件付きシミュレーション時間が次の行で設定されます。


MPLABからのSimulinkモデルのコンパイルの制御

Simulinkモデルのコンパイルは、MPLAB環境のMatlab / Simulinkセクションのコマンドによって、たとえば次の順序で制御できます。

1. Matlab / SimulinkでPICコントローラーモデルを開発します。 モデルを保存します。
2. MPLABを起動します。
3. MPLABメニュー→ツール→Matlab / Simulinkを選択すると、メニューに新しいセクションが表示されます。


4.「Matlab / Simulink」セクションで、コマンド「Matlab / Simulink→Specify Simulink Model Name→Open→File name→Servo_ADC.mdl→Open」を使用して、たとえばServo_ADCなどのSimulinkモデルを開きます。 Openコマンドは、Matlabを起動し、モデルを開きます。

5. [コードの生成]または[コードの生成とファイルのインポート]コマンドを使用して、モデルをコンパイルし、MCPプロジェクトを作成します。 MDLモデルのMCPプロジェクトへの変換は、Matlab TLCコンパイラーによって実行されます。
その結果、MPLABプロジェクトが作成されます。



C言語のモデルスクリプトを使用します。

6.プロジェクトを開きます:メニュー→プロジェクト→開く→Servo_ADC.mcp(図20)。


20 MPLAB環境でのSimulinkモデルServo_ADC.mdlのMCPプロジェクトの構造。
Simulinkモデルプロジェクトは、編集、デバッグ、およびMPLABを使用したコントローラーのマシンコードへのコンパイルの準備ができています。

PIC-KIT3プログラマーの接続


メニューセクション→設定→MPLAB 8.92環境のデバイスの選択で、特定のマイクロコントローラーにバイナリコードを書き込むプログラマーを見つけることができます。 たとえば、PIC-KIT3プログラマーはPIC12C508Aコントローラーをサポートしていませんが(図21、左図)、PIC12F629コントローラー(図21、右図)で動作します。


21 ファームウェアマイクロコントローラーのプログラマーのリスト。

インストールされたPIC-KIT3プログラマードライバーに関する情報は、Windowsデバイスマネージャーから要求できます(図22)。


22 インストールされているPIC-KIT3プログラマードライバーに関する情報。

PIC12F629マイクロコントローラーとPIC-KIT3プログラマーの接続図を図に示します。 23。


23 PIC12F629マイクロコントローラーとPIC-KIT3プログラマーの接続図。

PIC12F629コントローラのプログラミング用のPGMピンは使用されません。 異なるタイプのPICコントローラーのPGMピンの存在を図に示します。 24. PGMピンは、1Kの抵抗器を介して、共通ワイヤ(GND)に「引っ張る」ことを推奨します[3]。


24 結論PGM PICコントローラー。

Olimex PIC-KIT3プログラマーのLEDを以下に示します。

黄-赤-プログラマーステータス
オン-オフ-USB回線に接続されています
オン-オン-MPLABとの相互作用
点滅-点灯-マイクロコントローラーのファームウェア

コントローラが独自の電源から電力を供給されている場合、VDDマイクロコントローラ(図23)の電源をプログラマに接続しないでください。

VDDラインでプログラマーからマイクロコントローラーに電力を供給する場合、図5に示すように、MPLABで5Vなどの動作電圧を設定する必要があります(メニュー→プログラマー→設定→電源)。 25。

ご注意 VDDラインに電圧がない場合、MPLAB IDEはエラーメッセージを表示します:PK3Err0045:使用するにはターゲットデバイスに接続する必要があります


25 MPLAB IDE v8.92を使用したPIC-KIT3プログラマのVDD電圧の設定。

プログラマが必要な電圧を設定できない場合、たとえば5V未満のUSBから電力が供給されている場合、MPLAB IDEはエラーメッセージを表示します:PK3Err0035:デバイスIDの取得に失敗しました。 この場合、最初にプログラマーの電圧を測定する必要があります-メニュータブ→プログラマー→設定→ステータスで読み取り、次にメニュータブ→プログラマー→設定→電源で電圧(測定された電圧以下)を設定します。


26 MPLAB IDE v8.92を使用したPIC-KIT3プログラマのVDD電圧の測定(左)およびインストール(右)。

メニューコマンド→プログラマ→再接続によってマイクロコントローラをプログラマに正常に接続するためのMPLABメッセージの例を図に示します。 27。


27 マイクロコントローラーとプログラマーの正常な接続に関するメッセージMPLAB。

個別のPICコントローラーだけでなく、動作中のデバイスの一部であるコントローラーもプログラムできます。 PICコントローラーをデバイスの一部としてプログラムするには、図5に示すように、ジャンパーと電流制限抵抗器を取り付ける必要があります。 28 [3]。


28 電子デバイスの一部としてマイクロコントローラーをプログラマーに接続する。

おわりに


低PIC PICには、広い電力範囲、低消費電力、および小さな設置面積があります。 これらは低レベル言語でプログラムされています。 多数のライブラリを使用してSimulinkグラフィカルプログラミング言語でプログラムを開発すると、アセンブリレベルのプログラミングに比べて開発とデバッグの時間が大幅に短縮されます。 Simulink PIC用に開発された構造は、コントローラーを含む動的システムのコンピューターシミュレーションにも使用できます。 ただし、コードの冗長性のため、このアプローチは十分なリソースを備えたPICファミリーのコントローラーにのみ適用できます。

書誌リスト
1. PIC12F6XX 。 Microchip Technology Incorporatedのシングルチップ8ビットFLASH CMOSマイクロコントローラー。 PIC12F629、PIC12F675。 OOOマイクロチップ。 モスクワ-2002
2. マイクロチップ。 MPLAB IDE。 MPLAB EditorおよびMPLAB SIMシミュレーターを使用したユーザーズガイド
3. ICSP-PICコントローラーのインサーキットプログラミングDOC Rev 1.03 (最終更新2005年5月19日)
4. MPLAB IDEヘルプ:MATLAB。
5. Murali Manohara Chembarpuによって作成されたMPLABIDE用のMicrochip-SIMULINKブロックセットとMATLABプラグインの紹介
6. 16ビットPICの組み込みターゲット
7. 博士 ボブ・ダビドフ 。 科学的および実践的な出版物のポータル

Source: https://habr.com/ru/post/J321542/


All Articles