#include <18f2320.h> #fuses INTRC, PUT, NOPROTECT #use delay(clock=8000000) #define seki pin_b0 #define led1 pin_a0 #define led2 pin_a1 #define led3 pin_a2 #define mota pin_a3 void ledten1(void); void ledten2(void); void ledten3(void); void ledten4(void); main(){ int i,a,a1,a2,; set_tris_a(0x00); set_tris_b(0x0f); output_a(0); while(1){ while(1){ a=0;a1=0;a2=0; if(input(seki)==0) delay_us(400); else break; if(input(seki)==0) delay_us(600); else break; if(input(seki)==1) delay_us(600); else break; if(input(seki)==0) delay_us(600); else break; if(input(seki)==0) a2=2; delay_us(600); if(input(seki)==0) a1=1; delay_us(600); if(input(seki)==0) delay_us(600); else break; if(input(seki)==1) delay_us(600); else break; if(input(seki)==0) delay_us(600); else break; if(input(seki)==1) delay_us(600); else break; if(input(seki)==0) a=a2+a1; else break; switch(a) { case 1: for(i=0;i<10;i++){ ledten1(); delay_ms(80); ledten2(); delay_ms(80); ledten3(); delay_ms(80); } ledten4(); //delay_ms(100); break; case 2: for(i=0;i<10;i++){ ledten1(); output_bit(mota,1); delay_ms(80); ledten2(); output_bit(mota,0); delay_ms(80); ledten3(); output_bit(mota,1); delay_ms(80); } ledten4(); output_bit(mota,0); //delay_ms(100); break; case 3: for(i=0;i<10;i++){ output_bit(mota,1); delay_ms(80); output_bit(mota,0); delay_ms(80); } //delay_ms(100); break; default: output_bit(pin_a0,0); output_bit(pin_a1,0); output_bit(pin_a2,0); delay_ms(100); break; } } } } void ledten1(){ output_bit(led1,1); output_bit(led2,0); output_bit(led3,0); } void ledten2(){ output_bit(led1,0); output_bit(led2,1); output_bit(led3,0); } void ledten3(){ output_bit(led1,0); output_bit(led2,0); output_bit(led3,1); } void ledten4(){ output_bit(led1,0); output_bit(led2,0); output_bit(led3,0); }