#include<16f873a.h> #fuses HS,NOWDT,PUT,NOPROTECT #use delay(clock=20000000) int data[4]; //PIN_B1〜B4 にLEDをGND設置 void main(){ int i; set_tris_a(0x0f); set_tris_b(0); output_high(PIN_A4); delay_ms(500); while(1){ while(1){ output_b(0); if(input(PIN_A0)==0) delay_us(400);//check用 else break; if(input(PIN_A0)==0) delay_us(600);//check用 else break; if(input(PIN_A0)==1) delay_us(600);//check用 else break; for(i=0;i<4;i++){ if(input(PIN_A0)==0) data[i]=true;//DATA else data[i]=false; } if(input(PIN_A0)==1) delay_us(600);//check用 else break; if(input(PIN_A0)==0) delay_us(600);//check用 else break; if(data[0])output_high(PIN_B1); if(data[1])output_high(PIN_B2); if(data[2])output_high(PIN_B3); if(data[3])output_high(PIN_B4); delay_ms(100); } } }