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

» 2005年04月25日 16時15分 公開
[小林哲雄,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インストールがお勧めだ。

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

MPLAB IDE v7.10を使ってみる

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

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

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

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

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

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

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

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年04月16日 更新
  1. 「JBL Tune 310C USB」レビュー USB Type-C接続×ハイレゾ対応でAndroidスマホやiPhone 15シリーズにもお勧め! (2024年04月15日)
  2. Amazonのタイムセールが「スマイル SALE」に変更 4月19日からゴールデンウィークセール開催 (2024年04月13日)
  3. アキバでは散りはじめた桜 それでも桜デザインが注目を集める理由 (2024年04月15日)
  4. Googleが生成AI向け独自CPU「Google Axion」プロセッサを発表/Intel N100を採用した超小型コンピューティングモジュール「LattePanda Mu」 (2024年04月14日)
  5. これを待ってた! ロープロ版GeForce RTX 4060搭載カードがASUSから登場! (2024年04月13日)
  6. 玄人志向、M.2 NVMe SSDを2枚装着可能なUSB外付けスタンド クローン作成も可能 (2024年04月15日)
  7. Synology「BeeStation」はNASより便利な一面も 家族の“秘密”も守れるストレージ、共有リンクや写真管理もある (2024年04月16日)
  8. 自宅の「スマートロック」にありがちな誤解 家から締め出されないために心掛けている実践的な5つのこと (2024年04月12日)
  9. 8コア16スレッドのRyzen 9 7940HS×Radeon 780M搭載! 片手で握れるミニデスクトップPC「GEEKOM A7」の“強さ”をチェック! (2024年04月10日)
  10. 「SwitchBot ハブ2」と「ハブミニ(Matter対応)」のMatter機能がアップデート 多くの同社製デバイスがホームアプリで操作可能に (2024年04月13日)
最新トピックスPR

過去記事カレンダー