タッチ・アンド・スリープ・アンド・ゴー

つまらないことしか書きません

MacにPIC開発環境を作る

最近、訳あってPICを触り始めました。

工学系の大学に居た時は実習で度々触っていたのですが、色々調べてみると学校で使っていたモノよりも使いやすいモダンな開発環境が最近の主流のようでした。

備忘録も兼ねてドキュメントとして残しておこうと思います。

今回はPIC12F1822を使用します。

http://ww1.microchip.com/downloads/jp/DeviceDoc/41413C_JP.pdf

What is PIC

PIC (コントローラ) - Wikipedia

PIC(ピック)とは、Peripheral Interface Controller(ペリフェラル インターフェイス コントローラ)の略称であり、マイクロチップ・テクノロジー社 (Microchip Technology Inc.) が製造しているマイクロコントローラ(制御用IC)製品群の総称である。

PICにはCPU、メモリ (RAM, ROM)、I/Oなどが1チップに収められており、ROMに書き込まれたプログラムにより制御される。回路構成が容易かつ安価で、他のマイクロコントローラと比べて圧倒的にインターネット上で情報を得やすく、関連書籍も豊富で、PICそのものの入手性も良いため電子工作愛好家の間で人気がある。

IC一つのサイズのマイコンで、デジタルのI/Oポート、型番によってはクロックを作る発振器やアナログI/Oポートなども含まれている便利なマイコンです。

通信周りを実装しようとすると少しだけ厄介ですが、コレ一つでArduinoで作られがちなホビーは大体作ることができます!便利!

用意するもの

  • MacのPC
  • ユニバーサル基板
  • 10kΩの抵抗
  • 0.1μFのコンデンサ
  • PIC 12F1822
  • PICKit3

ソフトウェアのダウンロード

開発環境 MPLABの導入

下記URLからMac用をダウンロード

http://www.microchip.com/ja/mplab/mplab-x-ide

ダイアログに従ってインストール

PIC用のCコンパイラの導入

下記URLからMac用をダウンロード

http://www.microchip.com/mplab/compilers

XC◯◯は書き込むPICのCPUのビット数に応じています。

ダイアログに従ってインストール

書き込み用回路の作成

f:id:nasustim:20171121180638j:plain

作ります。

f:id:nasustim:20171121180821j:plain

良い感じのサイズ感になりました。

プログラミング準備

以下のサイトを参考に↓

qiita.com

上記サイトと違う点として、

  • PICKit3からの給電で動かそうとすると電力不足でエラーを吐くので、 Propaties -> PICKit3 -> Power の項目にはチェックを入れず、電源装置からの給電で書き込み。
  • コンフィグレーションビットのFOSCはINTOSC(内部クロック設定)に

プログラムに関してはPIC12F1822用に、

  • ANSEL -> ANSELA (アナログIOの設定)
  • TRISIO -> TRISA (AポートのI/O設定)
  • " PORTA = 0x00; "を追加 (Aポートの初期値を全て0にセット)

好例のLチカ

RA4, RA5にLEDを、RA0にプルアップのスイッチ回路を取り付けてLをチカしました。

以下、ソースコード

/* 設定省略 */

#include <xc.h>

void main(void) {
    unsigned char flag = 0;

    ANSELA  = 0x00;
    TRISA = 0x01;
    PORTA  = 0x00;

    while(1){
        if(!RA0){
            __delay_ms(20);
            flag = ~flag;
        }
        RA5 = flag & 0b00000001;
        RA4 = ~flag & 0b00000001;
    }
}