int x; int y,k; char i; int m,n; void SENDING(){ PORTE.F0=1; Delay_us(100); PORTE.F0=0; Delay_us(100); while(PORTA!=0 || PORTB!=0 || PORTC!=0 || PORTD!=0){ k=y; for(i=0;i<6;i++){ if(k&1) PORTE.F0=1; Delay_us(50); PORTE.F0=0; k=k >> 1; } Delay_ms(5); } } void main(){ ANSEL = 0; ANSELH = 0; TRISA = 0xFF; TRISB = 0xFF; TRISC = 0XFF; TRISD = 0xFF; TRISE=0; PORTE=0; while(1){ while(PORTA==0&&PORTB==0&&PORTC==0&&PORTD==0){ } x=PORTA; m=0; n=1; for(i=1;i<9;i++){ if((x/n)==1) m=i; n=n << 1; } y=y+m; x=PORTB; m=0; n=1; for(i=9;i<17;i++){ if((x/n)==1) m=i; n=n << 1; } y=y+m; x=PORTC; m=0; n=1; for(i=17;i<25;i++){ if((x/n)==1) m=i; n=n << 1; } y=y+m; x=PORTD; m=0; n=1; for(i=25;i<33;i++){ if((x/n)==1) m=i; n=n << 1; } y=y+m; SENDING(); } }