PIC18F14K50の基本動作から応用プログラムまでを学びます。

ホーム
16F18313
16F18325
16F18346
16F1619
Curiosity
---
---
    
12F1822
16F1455
16F1459
18F14K50
18F26J50
dsPIC
その他
テスト用基板

Microchip社 28pn Demo Board を改造し、PIC18F26J50 のプログラムを行うのに都合のよいテスト用基板を作成しました。搭載PICにブートローダーを書き込んでおけば、ノートPCだけでプログラムの確認ができます。

テスト基板の動作確認プログラム

このプロジェクトに書かれているプログラムは、上記テスト基板のSW、LED、ボリュームの動作を確認するためのものです。

テスト基板動作確認  C04_BasicFunc.zip

main.c

//  File name: Test board
//  Description: SW LED A/D
//  テスト基板の機能確認
//  Notes: 4MHz内部クロック
//        SW1 RA5
//        LED RB0 RB1 RB2 RB3
//        VR  AN0(RA0)
//    Language: MPLAB xc8
//    Target: PIC18F26J50

#include <xc.h>
#define _XTAL_FREQ 4000000      // delay_ms(x) のための定義
#define SW1       RA5
#define LED1      LATB0
#define LED2      LATB1
#define LED3      LATB2
#define LED4      LATB3

//
     #pragma config WDTEN = OFF, PLLDIV = 2, STVREN = ON, XINST = OFF
     #pragma config CPUDIV = OSC1, CP0 = OFF
     #pragma config OSC = INTOSC, T1DIG = OFF
     #pragma config LPT1OSC = OFF, FCMEN = OFF, IESO = OFF
     #pragma config WDTPS = 32768
     #pragma config DSWDTOSC = INTOSCREF, RTCOSC = T1OSCREF
     #pragma config DSBOREN = OFF, DSWDTEN = OFF, DSWDTPS = 8192
     #pragma config IOL1WAY = OFF, MSSP7B_EN = MSK7
     #pragma config WPFP = PAGE_1, WPEND = PAGE_0, WPCFG = OFF
     #pragma config WPDIS = OFF

void main(void){
    char speed;
    OSCCON = 0b01100010;        // 内部クロック4Mhz
    LATB = 0;                   // PortBのすべてのビットを「0」
    TRISB = 0b11110000;         // LEDの接続ポートを出力に設定
    ADCON1 = 0b00101100;        // 左詰 クロックFosc/4 12_TAD
    ADCON0 = 0b00000001;        // Vdd-Vss AN0(RA0) ADC_ON
    ANCON0 = 0b00011110;        // CH0をアナログ入力にする
    ANCON1 = 0b00011111;
    while(1){
        if(!SW1){               // SW1が押されれば
            LED1=1;             //    LED1を点灯
            LED2=0;             //    LED2を消灯
        }else{                  // SW1が押されれば
            LED1=0;             //    LED1を消灯
            LED2=1;             //    LED2を点灯
        }
        ADCON0bits.GO = 1;              // AD変換開始
        while(ADCON0bits.GO);           // AD変換終了待ち
        speed = ADRESH >> 4;            // AD変換結果上位4Bit取得
        while(speed--)__delay_ms(20);   // 点滅間隔を待ち
        LED4 = LED3;                    // LED4を点滅
        LED3 = !LED3;                   // LED3を点滅                // LED3を点滅
    }
}

ブートローダー の書込み

このテスト基板に、PICkit などのプログラマーを使わず、PCだけで作成したアプリケーションプログラムを書き込むには、ブートローダープログラムがPICにあらかじめセットされている必要があります。 このブートローダをPICにセット(書き込む)には、残念ながらPICkitなどのプログラマーを使用しなければなりません。 しかし、一度セットしてしまえば、後は、PCのUSB経由で、PICにいろいろなアプリケ―ションプログラムを書込みその動作を確認することが可能になります。
 PICkitなどのプログラマーで、下記 HEXファイルを書き込んでください。

26J50_HID_BL_RA5_RB01_hex.zip

<手順>

  1. テスト基板に、PICkit3 を接続します。
  2. テスト基板とPCをUSBケーブルで接続します。
  3. 基板の電源SWをONとし、電源を供給します。
  4. MPLAB IPE を起動し、上記 HEX ファイルを書き込みます。
  5. 基板の電源SWをOFFとし、PICkit3 を取り外します。
  6. (SW、LED、LCD表示の動作確認ができます)
  7. SW1を押しながら電源SWをONにすると、
    ブートローダーのアプリケーションプログラムの更新モードで動作します。
    (PCアプリ HIDBootloader (Windows).exeを起動すれば、希望のPICプログラムを書き込むことができます)