PIC16F628A LED点滅
JH7UBC 2018.11.5
PIC16F628Aを使ってLEDを0.5秒ごとに点滅させます。いわゆるLチカです。
これは、簡単なプログラムですが、PICが正常に動作するかどうかの最初のテストです。
クロックは、内臓発振器(4MHz)とし、レゾネータを省略します。
LEDは、RB0に電流制限抵抗を介して接続します。
ブレッドボードです。電源は、秋月電子のUSBシリアル変換モジュールから5Vを供給しています。
配線は、非常に簡単です。
プログラムです。
PIC16F628Aは、ディフォルトでR0〜R3は、コンパレータ入力になっています。
全てのIOポートをデジタルIOとして使うためには、CMCON = 0x07とします。
ただし、RA5は、入力専用です。
#include <xc.h> #include <stdio.h> #include <stdlib.h> #define _XTAL_FREQ 4000000 // CONFIG #pragma config FOSC = INTOSCIO #pragma config WDTE = OFF #pragma config PWRTE = ON #pragma config MCLRE = OFF #pragma config BOREN = OFF #pragma config LVP = OFF #pragma config CPD = OFF #pragma config CP = OFF void main() { CMCON = 0x07;//comparators OFF TRISA = 0b00100000;//RA5は入力他は出力 TRISB = 0x00;//PORTBは全て出力 PORTA = 0x00;//PORTAクリア PORTB = 0x00;//PORTBクリア while(1){ RB0 = 1;// __delay_ms(500); RB0 = 0; __delay_ms(500); } } |