16F628A用 7セグ1桁点灯
#include <xc.h>
//16F628Aのコンフィグレーション
//プログラムでは変更できない各種設定で、PICへの書き込み時に読み込まれる
#pragma config FOSC = INTOSCIO
#pragma config WDTE = OFF
#pragma config PWRTE = ON
#pragma config MCLRE = ON
#pragma config BOREN = ON
#pragma config LVP = OFF
#pragma config CPD = OFF
#pragma config CP = OFF
//PIC外部に水晶発振などの取り付けた場合の周波数設定
#define _XTAL_FREQ 10000000
unsigned char seg1;
unsigned char p[10] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//これ以降がプログラム本体
void main(void) {
TRISA = 0x00; //PORTA全てのピン(RA0〜RA7)は「0」。つまり出力設定。
TRISB = 0x00; //PORTB全てのピン(RB0〜RB7)は「0」。つまり出力設定。
PORTA = 0x00; //PORTA全てのピンを「0」に設定
PORTB = 0x00; //PORTB全てのピンを「0」に設定
seg1 = 0;
while(1) {
PORTA = 0x01;
if(seg1 > 9)
{
seg1 = 0;
}
PORTB = p[seg1]; //配列p[]のビットパターンで7セグが点灯
__delay_ms(1000); //1000ミリ秒=1秒間何もしない
seg1++;
}
}