PIC18F14K50とHI-TECH C Compiler for PIC18でLEDピカピカ
2009-10-26


禺画像]
PIC18F14K50は、200円で8KW(16KByte)ROM+768ByteRAMも使えるので、そろそろ触ってみる事にした。動作電圧も20MHzなら1.8V〜、48MHzで2.7V〜動作するのだから魅力を感じるわけだ。このデバイスはUSBが使えるのだが、いきなり自分の敷居を高くしては長続きしないので、いつも通りのLEDピカピカから始めて見ることにした。ネットの情報を見ると、USBを使うときは外付けで12MHzの発振回路が必要な様だし、18F2550辺りよりも扱いにくいみたいなので、今の所は無理にUSBを使わなくても良いかなと思っている。

コンパイラは、MPLABのC18にするか迷ったが、とりあえず今までがHitechをやってきた流れから、 HI-TECH C Compiler for PIC18 MCUs v9.63PL3 ANSI C COMPILER を使って見る事にした。インストールは、PIC16シリーズ用と同じなので迷うことは無い。
ただ、PIC16と違ってConfigの設定が多く少し考えたが、とりあえずLEDをピカピカさせる事はできた。 スイッチ入力が入ると、高速点滅するプログラムを動かせられた。それにしても、このデバイス、ポートが変則的だな。拙いコードながらプログラムソースコードを載せておく。近日中にホームページ上のHello worldに掲載予定。
PIC18F14K50 サンプル ソースコード #pragma jis #define MHz 000000 #define _XTAL_FREQ 4MHz __CONFIG(1,IESODIS & FCMDIS & PCLKEN & PLLDIS & RCIO & USBDIV_0); __CONFIG(2,BORV30 & BOREN & PWRTEN & WDTDIS ); __CONFIG(3,MCLRDIS & HFSTART); __CONFIG(4,XINSTDIS & DEBUGDIS & LVPDIS & STVREN); __CONFIG(5,UNPROTECT); __CONFIG(6,WRTEN); __CONFIG(7,TRPA); void interrupt ISR(void); void init(void){ OSCCON =0b01010000; //4MHz internal clock osc ADCON1=0x0F; /* Set relevant port pins to digital mode, rather than analog */ TRISA=0; TRISB=0b10000000; TRISC=0; RABPU=0; //PORTA and PORTB pull-up port control are enable WPUB7=1; //RB7 pullup enable } //Delay 100msec -------------------------------- void Delay_10ms(unsigned char time){ while(time--){ __delay_ms(10); } } void main(void) { init(); while(1){ if (LATB6==0) LATB6=1; else LATB6 =0; if (RB7==0){ Delay_10ms(10); //高速点滅 }else{ Delay_10ms(50); //500ms wait } } }

ついでに、Hexファイルも公開。10ピン目にスイッチを付け、押すとLOWになるようにして、11ピン目にLEDと適当な抵抗を付けて、電源かグラウンドに接続すればOKだ。


[PR] Advanced PIC Microcontroller Projects in C: From USB to RTOS with the PIC 18F Series禺画像]
[PR] PICで楽しむ USB機器自作のすすめ禺画像]
[PR] 新版 明解C言語 入門編禺画像]
[PIC]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット