Hola Frodo, como habras observado este es un furo sobre microcontroladores y no sobre adivinación, por lo tanto para poderte dar una indicación tendras que poner el código que te da problemas o por lo menos la parte donde tu crees que pueda estar, si no dificilmente podremos localizar donde falla. De todas formas por que no pones todas las entradas por el puerto b?.
un saludo.