Hola
Bueno, si ya programaste algun micro supongo que tendras una idea básica de ASM (assembler), lo doy por supuesto...te comento mas o menos mi visión "grafica" de lo que es un PIC...para mi un PIC es un integrado, del cual vos podes decidir en que momento obtenes estado alto/bajo segun tus entradas (sean digitales o analogicas) o segun un determinado paso de tiempo, esto es lo que hace al medio exterior, vos cuando ejecutes un proceso en un PIC, vas a querer o sacarlo por algun pin (sea para mostrar esa informacion en un LCD, en un display 7 segmentos o en un LED), o bien guardar la Info en la memoria EEPROM, y despues los puertos configurados como entradas, que es o un estado alto o un estado bajo...luego, internamente el PIC tiene, a mi entender, muchas caracteristicas útiles, como pueden ser sus TIMERS, su memoria EEPROM (depende el tipo de PIC), entre 25 y 35 funciones (en los PIC gama enana [8 patas] y gama media [18 patas]) de control escritas en Assembler...
Si estas acostumbrado a escribir programas en Assembler para Controladores, creo, desde lo poco que se, que no vas a tener mucho problema, porque tengo entendido que todos tienen mas o menos las mismas funciones, lo que vas a tener que aprender es a hacer algoritmos (por ejemplo, como hacer una suma de varios numeros y cosas por el estilo)...
Pero si lo que queres es escribir programas útiles, buenos y rapidos, creo yo que la mejor opcion, es que aprendas a codear en PCW C, es un compilador que transforma código de C (para controladores, no es que vas a poder copiar el fuente de un programa de PC ni nada por el estilo) en HEX (HEX es Assembler "pasado a numeros", todas las funciones de ASSEMBLER tienen un numero identificatorio, ademas de los argumentos, entonces se transforman en Words (numeros de determinada cantidad de Bytes, dependiendo el PIC, que le permiten interpretar los datos y ejecutar las acciones correspondientes). Te recomiendo que te pegues una vuelta por la seccion del foro que habla sobre lenguajes C y empiezes a leer, agarres ejemplos y vayas compilando cosas y aprendiendo, y si tenes una base de C, vas a ver que es muy simple...ya que todas las caracteristicas del PIC (me atrevo a decir que todas

no estoy seguro) tienen su funcion y es, por lo general, muy simple utilizarla....entonces una vez que tengas el dato que necesitas, podes procesarlo a gusto y sacarlo por un PIN, almacenarlo, dejarlo en la memoria RAM para utilizarlo despues, etc.
Eso es lo que hace a Soft, despues, lo que es Hard, tenes que tener en cuenta lo siguiente: estos dispositivos funcionan por Pulsos de tiempo (o de Reloj), esto quiere decir, que para procesar una funcion (de Assembler) necesitan determinados pulsos de Reloj (4 en el caso de los PICs Gama enana y Media), entonces vas a necesitar un Cristal (XT es la sigla) el cual le brinde esos pulsos al controlador (verifica en la hoja de datos a que corresponde cada PIN)...lo que tenes que tener en cuenta, es que hay algunos PICs que traen un Oscilador Interno (como ser el 16F628, me encanta ese PIC!, es muy útil y puede resultar mas barato que el 16F84, ademas de tener muchas mas funciones y memoria, tanto de Codigo [memoria en la que se graba el programa], de Programa [memoria RAM] y de Datos [memoria EEPROM])...
Espero haber sido de ayuda, te recomiendo que consigas a alguien que se ponga a leer con vos la Hoja de Datos (aunque OJO, si vas a trabajar en esto, tené en cuenta que las Hojas de Datos son fundamentales, y que las vas a utilizar mucho, por lo tanto te recomiendo un curso, aunque sea básico, de Ingles), y como experiencia personal, (tal vez mi consejo sea malo

pero es lo que yo hago) no te leas toda, absolutamente TODA la hoja de datos, ya que hay muchas cosas que tal vez no vayas a utilizar, te recomiendo que leas la primer hoja donde te dice todas las caracteristicas que tiene el PIC, y despues si alguna te llama la atencion, indagar sobre ella en Internet (Google, o el Foro).
Un saludo y mucha suerte con tu trabajo!