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

ホーム
16F18313
16F18325
16F18346
16F1619
Curiosity
---
---
    
12F1822
16F1455
16F1459
18F14K50
18F26J50
dsPIC
その他
dsPIC33F128GP802 の基本動作を確認する

dsPIC に、Push SWと LEDを接続しLEDの点滅で動作を確認します。まず 作成したプログラムは

という基本的なものです。これで、MPLAB Xとの接続やdsPICプログラミングの基本を確認できます。

プログラム

プロジェクトファイル db01_LED.zip

/* ***************************************************
 * File:   main.c
 * LED を遅延サブルーチンを使用して点滅させる
 *     LEDは、Port B RB10 - RB13 に接続
 *     SW は、Port B RB3(AN5)    に接続
 *
 * Target PIC dsPic33FJ128GP802
 * MPLAB X , Microchip XC16
 * Created on 2014/03/09, 17:45
 * ******************************************************/

// 動作スピードの定義(遅延で使用する)---------------------
#define FCY 3685000UL     //  7.37MHz / 2

#include <xc.h>                        //
#include <libpic30.h>                  // 遅延ライブラリ

// コンフィギュレーション ----- 内部クロック動作 -------
_FGS(GWRP_OFF & GCP_OFF);
_FOSCSEL(FNOSC_FRC);
_FOSC(FCKSM_CSECMD & OSCIOFNC_ON & POSCMD_NONE);
_FWDT(FWDTEN_OFF);


int main (void){
    TRISB = 0xC3FF;                    // LED1-4のPortを出力設定
    _PCFG5 = 1;                        // SW Portをデジタル設定
    while(1){
        if(_RB3) LATB = 0x0C00;        // S1 Open ならLED1,2をON
            else LATB = 0x3000;        // S1 Push ならLED3,4をON
         __delay_ms(200);              // 200mS遅延
                 LATB = 0x0000;        // すべてのLEDをOFF
         __delay_ms(200);              // 200mS遅延
    }
}