mit
TRISB = 0;
schaltest Du das ganze Port B auf Ausgang. Da wirst Du keinen Taster
einlesen können.
Stattdessen musst Du PortD (mindestens RD7) auf Ausgang schalten.
Du schreibst, der Taster hängt an RB0, im Programm liest Du aber RA4!!!
Wenn Du Pull-Ups einschaltest, bekommst Du ein High-Signal wenn der
Taster NICHT gedrückt ist, und wenn er gedrückt ist, ein Low-Signal,
da der Taster ja nach Masse schliesst.
Willst Du nicht mal mit einer Tasse Kaffe oder Tee das Ganze überdenken
und den Programmcode bereinigen...?
Severino