//フルカラーLEDイルミネーション
//PIC12F509
//2010/6/20
/*
GP0…フルカラーLED BLUE
GP1…フルカラーLED RED
GP4…フルカラーLED GREEN
GP3…CDSセンサ
*/
#include<pic.h>
#include<delay.c>
//__CONFIG(INTRC | WDTDIS | UNPROTECT | MCLRDIS);
__CONFIG(0x0FEA);
#define _XTAL_FREQ 4000000	//内部発振4MHz

int i=0,j=0,k=300;
char l=0;

void main(void){
	TRIS=0x08;
	GPIO=0x00;

	while(1){
		if(!GP3){
			for(i=0;i<=k;i++){
				switch(l){
					case 0:GP0=1;GP1=0;GP4=0;break;
					case 1:GP0=0;GP1=1;GP4=0;break;
					case 2:GP0=0;GP1=0;GP4=1;break;
					case 3:GP0=1;GP1=1;GP4=0;break;
					case 4:GP0=1;GP1=0;GP4=1;break;
					case 5:GP0=0;GP1=1;GP4=1;break;
					case 6:GP0=1;GP1=1;GP4=1;break;
				}	
				while((k-i)>=j)j++;
				j=0;
				switch(l){
					case 0:GP0=0;GP1=1;GP4=0;break;
					case 1:GP0=0;GP1=0;GP4=1;break;
					case 2:GP0=1;GP1=1;GP4=0;break;
					case 3:GP0=1;GP1=0;GP4=1;break;
					case 4:GP0=0;GP1=1;GP4=1;break;
					case 5:GP0=1;GP1=1;GP4=1;break;
					case 6:GP0=1;GP1=0;GP4=0;break;
				}
				while(i>=j)j++;
				j=0;
				
				if(GP3)break;
			}
			l++;
			if(l>6)l=0;
		}
		else{
			GP0=GP1=GP4=0;
		}	
	}
}		