MPLAB X IDE v3.05 XC8 12F675 A/D変換機能を使用して電圧をLED表示します |
// ***************************************************************************** // < コンパイラ MPLAB X XC8 > 怪答PIC 2015/07/07 // 12F675 // A/D変換してLED点灯(^^; // ***************************************************************************** #include <pic.h> #define _XTAL_FREQ 4000000 // 内部クロック4MHzに設定 // __CONFIG(UNPROTECT & BORDIS & MCLRDIS & PWRTDIS & WDTDIS & INTIO); // 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) main() { TRISIO = 0b00010000; //GP4 A/D入力 GPIO = 0b00000000; //初期化 ADCON0 = 0b00001101; //左詰め Verf=Vdd 基準電圧はVcc 分解能 5mV 5V/1024 ANSEL = 0b00011000; //Fosc8,AN3=analog CMCON = 0b00000111; // while(1) { __delay_us(20); // 充電時間 GO_DONE = 1; // AD変換開始 while(GO_DONE); // 変換終了待 GPIO = (ADRESH>>5); // LED出力 } } 12F675_008.c |