PICでの使用例等を載せていきます。
環境
PIC18F14K50
MPLABX
XC8
PICkit3
PIC18F14K50のピンマップは以下のようになっています。
データシートはこれです。
http://ww1.microchip.com/downloads/jp/DeviceDoc/41350D_JP.pdf
はじめに
MPLABX等のインストールからPICに書き込むまでを説明しています。
PIC/InitialTutorial
LED(Lチカ)
まずはLチカです。
#include
#pragma
#pragma
#pragma
#pragma
#pragma
#pragma
#pragma
#pragma
#pragma
#define
//\brief 100ms単位でdelayする
//\param(time) time*100ms delayする
//\return 成功したら0
int delay_100ms(unsigned int time){
unsigned int count;
for(count=0; count<time; count++){
__delay_ms(20);
__delay_ms(20);
__delay_ms(20);
__delay_ms(20);
__delay_ms(20);
}
return 0;
}
void main(void){
OSCCON = 0b01010010; // 内部クロック4Mhz
TRISC = 0b00000000; // 入出力モードレジスタ 0:出力, 1:入力
LATC = 0; // 出力レジスタ 0:LOW, 1:HIGH
TRISB = 0b00000000; // 入出力モードレジスタ 0:出力, 1:入力
LATB = 0; // 出力レジスタ 0:LOW, 1:HIGH
TRISA = 0b00000000; // 入出力モードレジスタ 0:出力, 1:入力
LATA = 0; // 出力レジスタ 0:LOW, 1:HIGH
while(1){
//LATC = 0b000000001;
//LATCbits.LATC0 = 1;
//LATB = 0b10000000;
//LATBbits.LATB7 = 1;
//LATA = 0b00110000;
//LATAbits.LATA5 = 1;
LATCbits.LATC0 = 1;
delay_100ms(10);
LATCbits.LATC0 = 0;
delay_100ms(10);
}
}