PICマイコンを使ってLEDを点滅させる

PICマイコンを使い、500ms間隔でLEDの点灯と消灯を切り替えます。

プログラムはC言語、回路の作成にはブレッドボードを使用します。

次のようなステップになります。

  1. LEDの点灯に必要なパーツを揃える
  2. ブレッドボードに回路を作成する
  3. MPLAB X IDEをパソコンにインストールする
  4. MPLABのプロジェクトを作成する
  5. C言語でプログラムを作成する
  6. MPLAB X IDEでプログラムをPICに書き込む
  7. PICをブレッドボードに取り付けてLEDを点灯させる

1. LEDの点灯に必要なパーツを揃える

必要なもの

補足

  • 上記のPICkit3は純正品ではありませんが、安かったのでこちらを選択

  • 参考資料 PIC16F84A Documents

PIC16F84A

pic16f84a

2. ブレッドボードに回路を作成する

回路図を参考にブレッドボードに回路を作成します。

回路図

bb_a

bb_b

3.MPLAB X IDEをパソコンにインストールする

以下のリンクからMPLAB X IDEをダウンロードします。
MPLAB® X IDE

ダウンロードしたファイルを実行しインストールします。最後の画面でチェックボックスを入れたたまFinishをクリックすると、ブラウザでウェブサイトにアクセスします。このチェックは外して構いません。

続いて以下のリンクからMPLAB XC8 Compilerをダウンロードします。
MPLAB® XC8 Compiler

ダウンロードしたファイルを実行しインストールします。

4. MPLABのプロジェクトを作成する

まずプロジェクトを作成します。

  1. MPLAB X IDEを実行します。
  2. File -> New Projectをクリックします。
  3. ProjectsStandalone ProjectのままでOKなのでNext >をクリックします。
  4. FamilyMid-Range 8-bit MCUs (PIC10/12/16/MCP)を選択します。
  5. DevicePIC16F84Aを選択しNext >をクリックします。
  6. Hardware ToolsはPICkit3を選択しNext >をクリックします。
  7. Compiler ToolchainsXC8を選択しNext >をクリックします。
  8. Project Nameは適当にpic_0001_led_blinkとしFinishをクリックします。

次にプロジェクトの設定を変更します。

Projectsウィンドウのプロジェクト(pic_0001_led_blink)を右クリックしPropertiesをクリックします。

  1. Conf -> PICkit 3をクリックします。
  2. Option categoriesをクリックしPowerを選択します。
  3. Power target circuit from PICKit3にチェックします。
  4. OKをクリックしダイアログを閉じます。

これは電源をPICkit3から供給するようにする設定変更です。本来は安定した電源を供給するべきなので推奨していないようです。

5. C言語でプログラムを作成する

ソースファイルをプロジェクトに追加します。

  1. ProjectsウィンドウのSource Files -> New -> main.cをクリックします。
  2. File NamemainとしFinishをクリックします。
  3. main.cSource Filesに追加されるので以下のソースコードを入力します。

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <xc.h>

#pragma config FOSC = HS
#pragma config WDTE = OFF
#pragma config PWRTE = OFF
#pragma config CP = OFF
#define _XTAL_FREQ 20000000

int main() {
TRISBbits.TRISB0 = 0;

while(1) {
PORTBbits.RB0 = 1;
__delay_ms(500);
PORTBbits.RB0 = 0;
__delay_ms(500);
}

return 0;
}

6. MPLAB X IDEでプログラムをPICに書き込む

  1. 説明書のとおりにPICKit3のジャンパピンを変更します。

    J1BJ2P2-3J32-3を繋げるように設定してください。

    pickit3

  2. 説明書のとおりにPIC16F84Aをセットします。

    DIP8/14/18/20のPICをご利用の場合、ICの1番とラストピンがソケットの11番と30番に合うようにICを差し込んでください。

    pickit3

  3. パソコンとPICkit3をUSBケーブルで接続します。

    pickit3

    最後にPICkit3とZIF基板をジャンバケーブルで接続します。

  4. MPLAB X IDEの三角ボタン(Run Main Project)をクリックします。

    以下のように、Programming/Verify completeと出力されれば書き込みに成功しています。

    1
    2
    3
    4
    5
    6
    7
    8
    ...略...

    Programming...

    The following memory area(s) will be programmed:
    program memory: start address = 0x0, end address = 0x3ff
    configuration memory
    Programming/Verify complete

7. PICをブレッドボードに取り付けてLEDを点滅させる

PIC16F84Aをブレッドボードに取り付け、電池ボックスを接続するとLEDが点滅します。