Daily Archives: 2012年6月27日

[PIC]MPLABでデバッグ時に,入力用ポートの値を操作する(Stimulusウィンドウ)

2012年6月27日 (カテゴリ: PIC:)

MPLABでは実際のマイコンチップを用意しなくても、IDE上に用意されたシミュレータを使用してプログラムをデバッグする事ができます。 また、PICマイコンでは入出力ピンを使用して外部とのデータをやり取りを行います。 この際に出力ピンについては、PORTAやPORTBなどのレジスタ値を見れば0/1のどちらが出力されているか、確認する事ができます。一方、入力については、実機上はボタンなどを用意すれば入力のON/OFFを変更できますが、シミュレータ上ではボタンが無いのでピンの状態を変更する事が出来ません。 このようなときはStimulus機能を使用することで、ピン状態を変更する事が可能です。 Sti…


続きを読む

[PIC]PIC16F84Aのコンフィグレーションビットを指定する

2012年6月27日 (カテゴリ: PIC:)

PICでは、マイコンの内部動作を規定するために、コンフィグレーション用のデータが存在します。 PIC16F84Aマイコンの場合、このデータはプログラムメモリの0x2007番地に存在します。0x2007番地は、ユーザプログラムメモリの範囲外なので、通常のアセンブラ命令では値のセットを行うことができません。 それでは、この値をどうやって指定するのかという疑問が出てくるのですが、MPLABのアセンブラでは__CONFIG命令でこの値を設定することができます。 ここでは PIC16F84Aのコンフィグレーションビットの内容について確認してみます。 まず、アセンブラプログラム上での指定方法ですが、以下の…


続きを読む

[PIC]MPLABで作成されたhexファイルのフォーマットを解析する

2012年6月27日 (カテゴリ: PIC:, )

MPLABで開発を行い、コンパイル(orアセンブル)を行うと*.hexファイルが作成されます。 PICのマイコンへは、hexファイルを元に書き込みが行われます。 このhexですが、エディタで開いてみると普通のテキストファイルである事が分かります。 前回の動作確認で作ったasmファイルを確認してみると、以下の様な内容になりました。 作成したPICのアセンブラコード ; LEDを点滅させる ; (点滅が速過ぎるので、実機で実行すると目視では確認できませんが…) LIST P=16F84 INCLUDE P16F84A.INC ORG 0   ; ポートBのRB0ピンを出力にする BS…


続きを読む