El funcionamiento como entrada o salida lo define el registro TRIS_
para PORTA es TRISA, PORTB TRISC, etc...
cada bit de TRIS_ representa un bit del puerto en cuestion, al estar en 0 actua como salida, al estar en 1 actua como entrada
para el puerto A hay que especificar si es entrada analogica o digital (ya que comparte con el modulo ADC) a travez del registro ADCON1 (pagina 128 del datasheet dale una leida)