// PIC12F683 Configuration Bit Settings // 'C' source line config statements #include // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. // 初期設定 #pragma config FOSC = INTOSCIO // 内部クロックを使用する(3番Pinは入出力に) #pragma config WDTE = OFF // フリーズしたときに強制リセットするか? #pragma config PWRTE = OFF // 起動時、電源が安定するまで待つか? #pragma config MCLRE = ON // 外部からのリセット信号を受け付けるか? #pragma config CP = OFF // プログラムの外部読み取りを許可するか? #pragma config CPD = OFF // データの外部読み取りを許可するか? #pragma config BOREN = ON // 電源が不安定になったとき動作を停止するか? #pragma config IESO = OFF // 外部クロックが安定するまで内部クロックを使用するか? #pragma config FCMEN = OFF // 外部クロックが止まったとき内部クロックを使用するか? #define _XTAL_FREQ 1000000 // delay_ms()などの関数用にクロック周波数を定義 // ============================================================ // // メインプログラム // // ============================================================ /*           12F683 * −−−−−− * VDD −| 1 8 |− VSS * GP5 −| 2 7 |− GP0 * GP4 −| 3 6 |− GP1 * GP3 −| 4 5 |− GP2 * −−−−−− */ void main(void) { // OSCCON レジスタ(内部クロックの周波数を設定) // 1MHzに設定 OSCCON = 0b01000000; // TRISIO レジスタ(GP0〜GP5の入出力モードを設定) // すべて出力モードに設定 TRISIO = 0b00000000; // ANSEL レジスタ(A/D変換のクロック・アナログ入力ピンを設定) // 全てデジタルピンに設定 ANSEL = 0b00000000; while(1) { GP2 = 1; __delay_ms(1000); GP2 = 0; __delay_ms(1000); } }