MPLAB X IDE v3.05 XC8 12F675 スイッチでLED点灯 |
// ***************************************************************************** // < コンパイラ MPLAB X XC8 > 怪答PIC 2015/07/06 // // スイッチでLEDを点灯 (^^; // ***************************************************************************** #include <pic.h> // 内部クロック4MHz使用する(INTIO) // ウオッチドックタイマ無し(WDTE_OFF) // 電源ONから64ms後にプログラムを開始(PWRTE_ON) // 4番目のピン(RA3)をデジタル入力に設定(MCLRE_OFF) // __CONFIG(FOSC_INTRCIO & WDTE_OFF & PWRTE_ON & MCLRE_OFF); // CONFIG #pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled) #pragma config PWRTE = ON // Power-Up Timer Enable bit (PWRT enabled) #pragma config MCLRE = OFF // GP3/MCLR pin function select (GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD) #pragma config BOREN = ON // Brown-out Detect Enable bit (BOD enabled) #pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled) #pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled) // ***************************************************************************** // -- ピン説明 -- // 1 電源+ 電源 プラス // 2 GPIO5 入出力 // 3 GPIO4 入力 // 4 GPIO3 入出力 // 5 GPIO2 入出力 // 6 GPIO1 入出力 // 7 GPIO0 入出力 // 8 電源 - 電源 マイナス // ***************************************************************************** void main() { OPTION_REG = 0; // GPIOプルアップ CMCON = 0x07; // コンパレータは使用しない ANSEL = 0b00000000; // アナログは使用しない(すべてデジタル入出力) TRISIO = 0b00010000; // ピンは出力に割当 (GP4は入力専用) 入力(1) 出力(0) WPU = 0b00010000; // 内部プルアップ指定 GP4 GPIO = 0b00000000; // 出力ピンの初期化 while(1) { if (GPIO4 == 0) // 3番ピンのスイッチが押されたか? { GPIO1 = 1 ; // 5番ピンにHIGHを出力する(LED ON) } else { GPIO1 = 0 ; // 5番ピンにLOWを出力する(LED OFF) } } } 12F675_004.c |