連載
» 2005年04月25日 16時15分 UPDATE

春だからはじめる工作教室入門その2「PICの開発ツールを習得する」 (1/2)

桜が舞い花粉と黄砂が入り入り乱れて飛ぶ春爛漫。そんな気持ちのいい休日は家に閉じこもって電子工作三昧。春の工作教室はPICがテーマ。前回紹介した開発環境を今回は実際に使ってみよう。

[小林哲雄,ITmedia]

開発環境をダウンロードで整える

 実際にPICを使うためにはPICライターという書込み機が必要ということも前回書いた。それ以外にもう一つ必要なのがソフトウェア環境と資料だ。これはMicroChipのWebページから入手できる。

 ちなみに、日本支社のWebページから各種ドキュメントにアクセスすると分かるように、実のところ日本語の資料というのがあまり多くない。本来欲しいのは統合環境の使い方と今回扱う12F675の日本語資料だが、これらは存在しないのだ。

 そこで、ここでは12F675と構造が似ているPICの日本語資料と12F675の資料をダウンロードしよう。日本語資料は「●日本語ドキュメント」という囲みの中にある“PIC12CE67Xのデータシート(本社サイトから974KB)”と書かれているものを使う。これを読めば、大体の構造とアセンブラコードの概要がわかる。

 英語資料をダウンロードする場合は、上にある“本社サイトの"Data Sheet Finderのページ"を開く”をクリックして、プルダウンメニューから「PIC12F675」を選択、左上にある“PIC12C672 Most Recently Updated Downloads”の枠から「PIC12C672 DataSheets」を取得する。pdfファイルなので、右クリックメニューで保存しておくといいだろう。

 英語サイトにアクセスしたついでに統合環境も手に入れておこう。右上のロゴか左上にあるHOMEをクリックしてTOPページにジャンプし、Designツリーの下にある“MPLAB IDE”をクリックするとDevelopment Softwareという項目が出るので、表の一番上にある“MPLAB IDE v7.10”をクリックして“MPLAB IDE v7.10 Full Zipped Installation”か“MPLAB IDE v7.10 Component Download”をダウンロードして導入しよう(後者は必要なモジュールをインストール時にダウンロードする)。

(編注:4月下旬の時点で日本支社マイクロチップ・テクノロジーズ・ジャパンのWebページには、トップに「開発ツールのご紹介とMPLAB-IDEのダウンロード」のリンクが設けられている。ここから「統合開発環境ソフトウエア MPLAB IDE」にジャンプ。「●本社サイトMPLAB IDE v7.10(最新バージョン)のダウンロードのページを開く」を選択すると、MPLAB IDE v7.10のWebページが開くので、下のほうにあるDownloadリストから“MPLAB IDE v7.10 Full Zipped Installation”もしくは“MPLAB IDE v7.10 Component Download”を選択する)

 インストール作業はインストーラーを実行するだけでよいが、不要なモジュールは入れないほうが後の操作でまごつかないかもしれない。「8bit MCUs」「MPASM Suite」「MPLAB IDE」「MPLAB SIM」の4つだけチェックを入れたCustomインストールがお勧めだ。

kn_pci2inst.jpg 不要なモジュールは入れないのがポイント

MPLAB IDE v7.10を使ってみる

 今回は「プログラムとは何か」という話はせず、ともかくIDEの使い方をマスターしよう。MPLAB IDEを起動したら、まず扱うデバイス(ICの名称)を指定しておこう。ここはConfigureメニューのSelect Deviceで「PIC12F675」を指定する。

kn_pci3slctpic.jpg MPLABは色々なPICに対応するので扱うデバイスを指定する必要がある。

 次にProjectメニューの“New”で新しいプロジェクトを開く。ソース類がばらけないようにフォルダを1つ作っておくとよい。ここでは「test1」というプロジェクトを作ってある。次に“File-New”で新しいファイルを開く。

 で、プログラムを入力するのだが、、ここは、以下のサンプルプログラムをコピー&ペーストすれば入力終了。いったんファイルを閉じるとファイル名を要求されるので「test1.asm」として保存し、再度“File-Open”でtest1.asmを開きなおそう。ここで左上のtest1.mcwの“Source Files”というところで右クリックして“Add Files”、次いで先ほどのtest1.asmを指定すると、「test1」というプロジェクトにtest1.asmというファイルが入る。複数のファイルを扱う場合でもこれで一気に作成できる。


;***************************************************
; PICテストプログラム(1) フルカラーLEDを点滅させる
; GP0-2にフルカラーLEDを付けることを前提
;***************************************************
LIST P=PIC12F675
INCLUDE "P12F675.INC"
__CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF
;***************************************************
; 変数定義とレジスタ割付
;***************************************************
COUNT1 EQU 20H ; ループカウンタ1
COUNT2 EQU 21H ; ループカウンタ2
COUNT3 EQU 22H ; ループカウンタ3
ORG 0 ; プログラムの開始番地の指定
;**************************************************
; 入出力ピン初期化
;**************************************************
BSF STATUS,RP0 ; Bank 1 へ切替
CLRF TRISIO
BCF STATUS,RP0 ; Bank 0 へ戻る
;**************************************************
; メインプログラム
;**************************************************
MAINLP
; 出力ポートをONにする
MOVLW 3FH ; 00111111 を Wreg にロードする
MOVWF GPIO ; PORTへWregのデータを出力
CALL TIME1S ; 1秒一定時間待つ
; 出力ポートをOFFにする
MOVLW 00H ; 00000000 を Wreg にロードする
MOVWF GPIO ; PORTへWregのデータを出力
CALL TIME1S ; 1秒一定時間待つ
GOTO MAINLP ; ON−OFFを繰り返す
;*********** サブルーチン群 ********************
; 1s wait new 1000000 cicle
TIME1N
MOVLW 0A7H ; A7H=167
MOVWF COUNT1
LOOP20
MOVLW 08H ; 08H=8
MOVWF COUNT2
LOOP21
MOVLW 0F8H ; F8H=248
MOVWF COUNT3
LOOP22
DECFSZ COUNT3,F
GOTO LOOP22
DECFSZ COUNT2,F
GOTO LOOP21
DECFSZ COUNT1,F
GOTO LOOP20
NOP
RETURN
END

kn_pci2make.jpg これで「TEST1」というプロジェクトにtest1.asmが入った

 プロジェクトはF10キーでMake、つまりソースファイルを実行可能な形式にする。IDEにはMPASMしか入っていないので、test1.asmがこれで変換される。Outputというウィンドウに結果が表示されるがエラーはないだろうか?……あった。

 この場合“Error”とかかれている部分をダブルクリックするとソースの該当部分にジャンプする。「TIME1S」というサブルーチンを呼び出しているのにソースにはそのような名称のラベルがなく、間違えて作った「TIME1N」というラベルしかないのでエラーになったのだ。ここは「TIME1N」というサブルーチンラベルを「TIME1S」に書き換えよう。ソースを保存して再度Makeすると、今度はエラーが出ないようだ。Messageというのがあるが、これは今回気にしなくてよい。

kn_pci2dbug.jpg エラーの部分をダブルクリックするとソースファイルの該当行にジャンプする

デバック作業でレジスタの中身を調べてみる

       1|2 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.