PIC16F1789 & MPUトレーナー 4 / 外部スイッチで LED を点滅する

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), p.59
f:id:ti-nspire:20170304145742p:plain:h250


main.c

#include "mcc_generated_files/mcc.h"

#define LED0    RB2
#define LED1    RB3
#define LED2    RB4

#define PUSH_SW0 RA3
#define PUSH_SW1 RB7
#define PUSH_SW2 RE3

#define LED_ON  1
#define LED_OFF 0

void main(void) {
    SYSTEM_Initialize();

    while (1) {
        if( PUSH_SW0) {LED0 = LED_OFF;}
        if(!PUSH_SW0) {LED0 = LED_ON ;}
        if( PUSH_SW1) {LED1 = LED_OFF;}
        if(!PUSH_SW1) {LED1 = LED_ON ;}
        if( PUSH_SW2) {LED2 = LED_OFF;}
        if(!PUSH_SW2) {LED2 = LED_ON ;}
    }
}

PIC16F1789 & MPUトレーナー 3 / L チカを行う

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.41-51

 f:id:ti-nspire:20170228093715p:plain:h250

1. 前回作った framework.X をフォルダーごとコピーしてフォルダー名を「led_on.X」に変える。

2. MPLAB X IDE を起動する。

3. メニューバーから [File] > [Open Project] の順に選択する。

4. 1.で名前を変更した led_on を選択して [Open Project] ボタンをクリックする。

5. 左上のペインの [Projects] タブに表示された [framework] を右クリックし、[Rename] を選択する。
f:id:ti-nspire:20170226083756p:plain:h300

6. [Rename Project] ウィンドウが開くので、[Project Name] フィールドに「led_on」と入力し、[Rename] ボタンをクリックする。
f:id:ti-nspire:20170226084004p:plain:h130

プロジェクトを一旦閉じてもう一度開くと名前が変更されている。
f:id:ti-nspire:20170226091612p:plain:h150

7. メニューバーから [File] > [Project Properties] の順に選択する。
f:id:ti-nspire:20170226090116p:plain:h250

[Project Properties] ウィンドウが開くので、左の [Categories] ペインにある [PICkit3] を選択し、[Opetion Categories] ドロップダウンボックスから [Power] を選択する。[Power target circuit from PICkit3] のチェックボックスを外し、[Voltage Level] を [3.25] にする。
f:id:ti-nspire:20170226090252p:plain:h150

8. 左側のペインにある [Files] タブを選択して main.c をダブルクリックする。右上のペインにソースコードが表示されるので、下のソースコードに書き換える (参考文献 48 ページ、リスト 3-3 から変えた)。
f:id:ti-nspire:20170226092024p:plain:h250

#include "mcc_generated_files/mcc.h"

#define LED0    RB2
#define LED1    RB3
#define LED2    RB4
#define LED_ON  1
#define LED_OFF 0

void wait() {
    for(unsigned long i = 1; i < 15000; i++) {
    }
}

void main(void) {
    SYSTEM_Initialize();
    while(1) {
        LED0 = LED_ON;
        wait();
        LED0 = LED_OFF;
        wait();
        LED1 = LED_ON;
        wait();
        LED1 = LED_OFF;
        wait();
        LED2 = LED_ON;
        wait();
        LED2 = LED_OFF;
        wait();
    }
}


9. [Build Project] ボタンをクリックする。
f:id:ti-nspire:20170226084915p:plain:w300

エラーの出ていないことを確認する。
f:id:ti-nspire:20170226084957p:plain:h200

10. PICkit と MPU トレーナーとを下のように接続する。
f:id:ti-nspire:20170226085356j:plain:h300 f:id:ti-nspire:20170226090653p:plain:h300

11. [Make and Program Device] ボタンをクリックする。
f:id:ti-nspire:20170226091003p:plain:w300

エラーの出ていないことを確認する。
f:id:ti-nspire:20170226091112p:plain:h200

PIC16F1789 & MPUトレーナー 2 / フレームワークを作成する

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.28-36

以降共通して使用するためのフレームワークを作成する。

1. MPLAB X IDE を起動し、メニューバーから [File] > [New Project] の順に選択する。
f:id:ti-nspire:20170226051843p:plain:h200

2. [New Project] ウィンドウが開くので、[Categories] ペインの [Microchip Embedded] を選択し、[Projects] ペインの [Standalone Project] を選択し、[Next] をクリックする。
f:id:ti-nspire:20170226052244p:plain:h200

3. [Device] ドロップダウンボックスで [PIC16F1798] を選択してから [Next] をクリックする。
f:id:ti-nspire:20170226052546p:plain:h200

4. [Supported Debug Header] は [None] のまま [Next] をクリックする。
f:id:ti-nspire:20170226052733p:plain:h200

5. [PICkit3] を選択して [Next] をクリックする。
f:id:ti-nspire:20170226052852p:plain:h200

6. [XC8 (v1.41) ~] を選択して [Next] をクリックする。
f:id:ti-nspire:20170226053014p:plain:h200

7. [Project Name] フィールドに「framework」と入力する。必要なら [Project Location] も変更する。[Encoding] ドロップダウンボックスから [Shif-JIS] を選択する。[Finish]をクリックする。
f:id:ti-nspire:20170226053830p:plain:h200

8. メニューバーから [Tools] > [Embedded] > [MPLABⓇ Code Configurator v3: Open/Close] の順に選択する。
f:id:ti-nspire:20170226054027p:plain

9. [Package] ドロップダウンボックスから [PDIP40] を選択する。
f:id:ti-nspire:20170226054707p:plain:h200

10. 左側にある [Device Resources] ペインで [ADC] [CCP1] [EUSART] [MSSP] [TMR0] [TMR1] [TMR2] の 7 つのペリフェラルをそれぞれダブルクリックする。
f:id:ti-nspire:20170226055622p:plain:h200

11. すると、今選択した 7 つのペリフェラルが、左側にある [Project Resources] ペインに追加される。
f:id:ti-nspire:20170226055932p:plain:h200

12. System を下のように設定する。
f:id:ti-nspire:20170226060843p:plainf:id:ti-nspire:20170226060942p:plain

13. ADC を下のように設定する。
下の図の 2 つの鍵マークをクリックしてアンロック状態 (f:id:ti-nspire:20170226061622p:plain:h15) からロック状態 (f:id:ti-nspire:20170226061640p:plain:h15) にする。
f:id:ti-nspire:20170226061450p:plain:h100
すると 右上の図が下のようになる。
f:id:ti-nspire:20170226061806p:plain:h200
さらに下のように設定する。
f:id:ti-nspire:20170226062133p:plain

14. EUSART を下のように設定する。
f:id:ti-nspire:20170226062646p:plain
TX ピン、RX ピンが自動的に割り当てられる。
f:id:ti-nspire:20170226062752p:plain:h200

15. MSSP を下のように設定する。
f:id:ti-nspire:20170226063019p:plain

16. Timer1 を下のように設定する。
f:id:ti-nspire:20170226063355p:plain

17. Timer0 を下のように設定する。
f:id:ti-nspire:20170226063958p:plain

18. PWM を設定する。
f:id:ti-nspire:20170226064153p:plain

19. GPIO を下のように設定する。
f:id:ti-nspire:20170226070134p:plain
ピンアサインは最終的に下のようになる。
f:id:ti-nspire:20170226070203p:plain:h200

20. [Generate] ボタンを押してソースコードを生成する。
f:id:ti-nspire:20170226070308p:plain:h150