if(portb.F3=1, portb.F4=1) kp=1; //tasto 1
if(portb.F3=1, portb.F6=1) kp=2; //tasto 2

Questo codice però non mi funziona.
Che significa "non mi funziona"? Non compila? Non esce nulla?

Quegli if mi sembrano strani, come vengono interpretati?

Niente antirimbalzo?

E poi la visualizzazione del tasto premuto è fuori dal ciclo infinito...

HTH,