No solo eso: Por ejemplo tomando el datasheet del PIC16F887
Seccion Memory Organization
Explica como esta organizada la memoria, si es en bancos, asi como la flash suele dividirse en paginas. Tambien explica como hace el micro para obterner los datos, ya sea por acceso directo o indirecto, algunas peculiaridades por ejemplo la instruccion de llamado a una subrutina "CALL" no puede direccionar toda la memoria flash, por lo cual ahi explica que hay 2 registros y que toma de alli uno para llenar los 12 bits de la direccion. Como cambiar los bancos de datos, en que bancos esta cada registro.
Luego en la seccion I/O port
Dice que registros modificar, te muestra un diagrama de como es la salida, da un progrmita ejemplo en ASM para que veas como se configura el puerto, te dice que tengas en cuenta que se inician como analogicos ( en caso que tengan ADC el PIC ), Tambien habla sobre las interrupciones que correspenden a ese puerto. Y usualmente al final te da todos los registros involucrados a ese puerto, de esa forma si tenes que configurar algo sabes que regisotrs y bits influyen en el.
Seccion oscilador
Aca te muestra todos los casos que podes tener, interno , externo ( XT , HS, LP ), te muestra un diagrama del circuito dentro del oscilador.
En fin casi todo lo referente al PIC en cuestion esta explicado en el datasheet. Puede ser complejo de entender al comienzo y mas cuando no programaste nunca nada, como dije por eso muchos comienzan con el 16F84 ya que no tiene ADC, no tiene tanta complejidad el oscilador ( casi no tiene nada ).
Con eso vas a aprender que registros modificar para que tus cosas funcionen.
Como modificarlos ?
Ahi entra el lenguaje que uses, podes usar ASM, Basic (por favor no) y C, en C hay distintos compiladores como CCS, XC8, y seguro que hay otro. Yo aconsejaria ir por el de Microchip ( XC8 ) a pesar que CCS tiene algunas cosas buenas, pero XC8 te va a llevar por un mejor entendimiento del micro en algunos modulos. Ejemplos si quisiera modificar el registro PORTA
En ASM:
BANKSEL PORTA
MOVLW 0x10
MOVWF PORTA
En C:
PORTA = 0x10;
Mucho mas rapido a costa de olvidarte algunas cosas del funcionamiento del micro
Si no tenes idea de C y del PIC, primero leeria un poco de programacion de C, aunque sea lo basico que lo encontras en cualquier lado por internet ( busca tutorial C ) y luego busca un ejemplo que prenda y apague un led, donde seria lo mas basico. Cuando veas el programa te vas a encontrar con cosas como __config(), PORTA, TRISA, etc etc, de alli podes buscarlo por el datasheet o podes preguntar por aca si no encontras nada.