はじめに

初めに、簡単なプログラムを作成して、実際にPICを動作させてみる。作成するプログラムは、ポートAに入力した信号をそのままポートBに出力する単純なものである。

一般的なアセンブラによるプログラム開発手順を以下に示す。

  1. テキストエディタによるソースプログラムの記述
  2. アセンブラによるソースプログラムの機械語への変換
  3. ライタによるPICへの書き込み
  4. プログラムの実行
  5. 正常に動作していれば開発完了。問題があれば1.に戻りプログラムを修正する

開発環境の準備

シリアルケーブルにより、コンピュータのシリアルポートとPICプログラマを接続する。次にACアダプタによりPICプログラマに電源を供給する。図1-1に接続の様子を示す。

図1-1

図1-1 コンピュータとPICプログラマの接続

実験回路の結線

ここではCPUボードとI/Oボードを用いる。これらを表1のように接続する。また接続の様子を図1-2に示す。

表1 実験1の接続端子
CPUボード +5V GND RA0 RA1 RA2 RA3 RB0 RB1 RB2 RB3
I/Oボード +5V GND OUT0 OUT1 OUT2 OUT3 IN0 IN1 IN2 IN3

図1-2

図1-2 実験1の結線


プログラム開発

MPLAB IDEの起動

パソコンを操作し、[スタート] → [Microchip] → [MPLAB IDE]の順に選び、MPLABを起動する。起動直後のMPLAB IDEを図1-3に示す。

図1-3

図1-3 MPLAB IDEの初期画面

プロジェクトの作成

MPLABで開発するプログラムはプロジェクト単位で管理される。以下の手順で新規のプロジェクトを作成する。

  1. [Project] → [Project Wizard…]でProject Wizardダイアログが開く。
  2. 次へをクリックする。
  3. Step ONE:
    Deviceで「PIC16F87」を選択し、次へをクリックする。
  4. Step TWO:
    Active Toolsuiteで「Microchip MPASM Toolsuite」を選択し、Toolsuite Contentsで「MPASM Assembler[mpasmwin.exe] v5.51」を選択したら次へをクリックする。
  5. Step THREE:
    「Create New Project File」で、プロジェクトの保存先フォルダ(「D:\pic」など)を指定する。「ファイル名」に「experiment01」などの名前をつける(日本語不可)。次へをクリックする。
  6. Step FOUR:
    既存のファイルをプロジェクトに追加する場合は、ここで追加する。今回は追加ファイルは無いので、そのまま次へをクリックする。完了をクリックすると、プロジェクトができる。

ソースファイルの入力

MPLAB IDEにおいて、[File] → [New]でエディタを起動し、以下のプログラムをエディタで入力する。記述したプログラムは、例えばファイル名を「experiment01.asm」などとして保存する。ここでの保存先はプロジェクトの保存先と同じとする。

;
;       実験1 入出力テストプログラム
;
; CONFIG1
 __CONFIG _CONFIG1, _FOSC_XT & _WDTE_OFF & _PWRTE_ON & _MCLRE_ON & _BOREN_OFF & _LVP_OFF & _CPD_OFF & _WRT_OFF & _CCPMX_RB0 & _CP_OFF
; CONFIG2
 __CONFIG _CONFIG2, _FCMEN_ON & _IESO_ON

        list            p=16F87
        include <p16F87.inc>

        ORG             0x000           ; リセットベクタを 0番地に指定

        BSF             STATUS,RP0      ; STATUSのビットPR0をセット(BANK 1)
        MOVLW           B'00001111'     ; WレジスタにB'00001111'を転送
        MOVWF           TRISA           ; Aポートの下位4bitを入力に設定
        CLRF            TRISB           ; Bポートを全て出力に設定
        BCF             STATUS,RP0      ; STATUSのビットPR0をセット(BANK 0)
        CLRF            PORTA           ; Aポートをクリア

LB0     MOVF            PORTA,W         ; Aポートの状態をWレジスタに転送
        MOVWF           PORTB           ; Wレジスタの値をBポートに転送
        GOTO            LB0             ; ラベルLB0へジャンプ
        END

List.1 入出力テストプログラム


プロジェクトへの追加

MPLAB IDEにおいて、Projectウィンドウの[Source File]を右クリックし、追加したいソースファイルを指定する。

Projectウィンドウが表示されていない場合は、[View] → [Project]を選択する。

アセンブル

MPLAB IDEにおいて、[Project] → [Build All]でソースファイルがアセンブルされる。途中[Absolute]と[Relocatable]を問われることがあるが、この場合は[Absolute]を選ぶとよい。アセンブルが終了すると、Outputウィンドウが表示される。エラーがあれば、Buildタブに表示される。

アセンブルに成功すれば、プロジェクトと同じフォルダ内に、拡張子が.hexのファイルが生成される。このファイルに機械語プログラムが格納されている。以後、このファイルをHEXファイルと呼ぶ。

PICへの書き込み

作成した機械語プログラムは、PICのプログラムメモリに書き込まれて、初めて実行することができる。機械語プログラムをPICに書き込むことを(少しややこしいが)「プログラム」という。このために、PICプログラマと、AKI-PICプログラマ(ソフト)を用いる。

PICプログラマの準備

PICプログラマの電源を入れ、AKI-PICプログラマ(ソフト)を起動する。[スタート] → [Akizuki] → [PIC Programmer V4 Beta]の順に選ぶ。PICプログラマの起動直後の様子を図1-5に示す。

起動後、右下欄に[COM3 :AE-PGM877A V6.73]が表示されていればPCとプログラマが通信に成功している。もしライターが接続できなかった場合は[オプション]→[COMポート設定]の順に選びCOM3を指定する。

もしもCOM3を指定しても通信が成功しなかった場合は[デバイスマネージャー]を開き、[ポート]から[USB Serial Port]に記載されているCOMポートに繋ぐとよい。

図1-4

図1-4 COMポート設定画面

    

図1-5

図1-5 AKI-PICプログラマの初期画面
(通信に失敗した場合)

    

図1-6

図1-6 AKI-PICプログラマの初期画面
(通信に成功した場合)

    


HEXファイルのロード

[ファイル] → [HEXファイルのロード]で、先程生成されたHEXファイルを指定する。

コンフィギュレーションワードの設定

PICは、使用する条件によりコンフィギュレーションワードを設定する必要がある。PICプログラマの図1-7に示す部分でコンフィギュレーションワードの設定を行う。

実験で用いるコンフィギュレーションワードの設定を表2に示す。このうち、オシレータタイプ(FOSC)は班により異なるので、表3により確認し、正しい設定を行うこと。

図1-7

図1-7 コンフィギュレーションワードの設定

表2 コンフィギュレーションワードの設定
Config. Word 設定
FOSC 表3の設定
WDTE Disable
PWRTE Enable
MCLRE RA5=MCLR
BODEN Disable
LVP RB3=I/O
CPD Not_Protect
WRT Protection_Off
DEBUG Disable
CCPMX CCP1=RB0
CP Not_Protect
表3 FOSCの設定
班名 オシレータ 設定
PIC001 4MHzセラロック XT
PIC002 8MHzセラロック HS
PIC003 10MHzセラロック HS
PIC004 4MHzセラロック XT
PIC005 8MHzセラロック HS
PIC006 10MHzセラロック HS
PIC007 4MHzセラロック XT
PIC008 8MHzセラロック HS
PIC009 10MHzセラロック HS
PIC010 8MHzセラロック HS

PICの挿入

PICプログラマのソケットにPICを装着する。装着位置、方向を間違えないように注意する。なお、必ずPICプログラマの準備が完了してからPICを装着すること。手順を間違えるとPICは破損する場合がある。また、プログラマのBUSYランプが点灯しているときは、絶対にPICの脱着を行ってはいけない。

PICのプログラム

プログラムをクリックすると、ロードしたHEXファイルがPICに書き込まれる。PICに既に別のプログラムが書き込まれている場合には、「書込み済みです。上書きしますか?」のメッセージダイアログが開く。構わなければOKをクリックする。問題があれば、PICを交換する。BUSYランプの確認を忘れずに行うこと。

動作確認

PICプログラマから書込み済みのPICを取り外し、CPUボードに装着する。電源を投入して、I/Oボードのスイッチを操作すると、それに応じたLEDが点滅することを確認する。

動作に問題がある場合は直ちに電源を切り、結線、プログラムの確認を行う。