حاول حاول
على العموم ضع السويتشات على portb والمتكاملة على porta يكون افضل لك واسها

وده الكود مجرب
#define A portb.f0
#define A_DIR trisb.f0
#define B portb.f1
#define B_DIR trisb.f1
#define C portb.f2
#define C_DIR trisb.f2
#define D portb.f3
#define D_DIR trisb.f3
#define E portb.f4
#define E_DIR trisb.f4
#define F portb.f5
#define F_DIR trisb.f5
#define display porta
#define display_dir trisa
#define is ==
void init()
{ A=B=C=D=E=F=0;
PORTB=1;
display=0;display_dir=0;
}
void main()
{
init();
while(1)
{
if(A is 0) {delay_ms(250);display =0b0000001;}
if(B is 0) {delay_ms(250);display =0b0000010;}
if(C is 0) {delay_ms(250);display =0b0000011;}
if(D is 0) {delay_ms(250);display =0b0000100;}
if(E is 0) {delay_ms(250);display =0b0000101;}
if(F is 0) {delay_ms(250);display =0b0000110;}
}
}