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++;

}

}

いいなと思ったら応援しよう!