[PR]テレビ番組表
今夜の番組チェック

第七章 もっと便利なインクロード

 
   ぜんかい03Hなどを STATUS のように 文字に置き換える方法を紹介しました
   EQUを使ってね
   ・・・でも不便だ
   毎回毎回 つかうレジスタを EQUで書いていたら・・・ちょっとねぇ
   全部の名前のついてるレジスタは 最初っからEQUで書いてあればいいのに・・・
   そこで INCLUDE の紹介です
 
〜なんとも便利なINCLUDE〜
   話しは簡単 名前のあるレジスタ全部を EQUで(STATUS EQU 03H のように) ぜ〜んぶ
   書いてあるファイルを 読みこむんです
 
   PICは種類によって レジスタの数やアドレスが違います
   しかし! MPLABにはそれぞれ 全部のPICのレジスタを ぜんぶEQUしたファイルがあるのです
   例えば PIC16F84A なら P16F84A.INC と言う名前で MPLAB の中にセットで入っています
   この中には 前にレジスタ一覧で見た PIC16F84A のレジスタ全てがEQUしてあって
    03Hとかじゃなくて STATUS のように 文字で書けるようになっています
   これを読みこめば わざわざ STATUS EQU 03H と書かなくても
   BSF STATUS,5 のように書くことが出来るようになります 
   
   早速やってみましょう

	
	LIST	P=PIC16F84A
	INCLUDE	"P16F84A.INC"

	BSF	STATUS,5
	CLRF	TRISB
	BCF	STATUS,5

	MOVLW	0FFH
	MOVWF	TRISB

	END

   ちゃんちゃん 終わり (INCLUDE は #INCLUDE が正しい書き方みたいですが 別にどっちでもいいです)
 
   簡単ですね〜 これでPIC16F84のあの一覧にあったレジスタは 全部 あのままの文字で書けます
   TRISB も PORTB も ぜ〜んぶ
   P16F84A.INC の中で 全部EQUしてあるわけですよ それを読みこんだんだから OKってわけ
 
   INCLUDEは ファイルを読みこむものです そしてそのファイルを このプログラムといっしょに MPLABに渡します
   ここで そのファイルとは P16F84A.INC つまり 全部のレジスタがEQUしてあるものです
   それを プログラムといっしょにMPLABに送ったのですから
   MPLABは まずこのインクロードした P16F84A.INC を見てレジスタとアドレスを覚えて
   それから プログラムをアセンブルしてくれますから
   プログラムで 03HなんかをEQUすることもなく STATUS  と書くことが出来るわけです
 
   便利でしょ〜
   ちなみに ここで P16F84A.INC としてありますが これは PIC16F84A のインクロードファイルです
   PIC16F84 と PIC16F84A はほぼ同じPICですのでインクロードファイルも P16F84A.INCでもP16F84.INC にしても
   ほぼ大丈夫です
 

まとめ

INCLUDE(#INCLUDE)・・・MPLABへいっしょにアセンブルファイルを読みこむ

                PICのレジスタがEQUで宣言してある MPLABにセットでついている INCファイルを読みこめば

                プログラムで レジスタをEQUする必要もなくなる

                PIC16F84Aの例)  INCLUDE "P16F84A.INC"

戻る ホームへ コウザへ 次へ