Al intentar estudiar asembler o incluso PIC C para aquel que nunca lo ha hecho es siempre bastante dificil y al leer aunque entiendas los conceptos, creo que el conocimiento se afianza cuando metes mano al asunto, por eso casi todo el mundo empieza con un botón que prende un led y luego una secuencia tipo auto fantástico con varios leds... y ahí se le agarra el gustito y no podés parar, jejeje
Nipple, si bien es muy cuestionado a la hora de hacer un programa eficiente y optimizado, como vos decís es muy útil cuando querés hacer un programa simple en poco tiempo. Estoy a favor de ello, aunque personalmente me quedo con C que es bastante rápido cuando le agarrás la mano y te permite control a bajo nivel si lo deseas...
Respecto a la fuente, la puedes hacer como había pensado, por ejemplo:
1-Potenciometro a entrada analógica, o un par de botones (más y menos) para decirle al pic la tensión de salida que se desea. Tener en cuenta los máximos y mínimos que se usarán
2-Conectar la salida de tensión de la fuente a una entrada analógica del pic usando unas resistencias como divisores (dependindo de la salida máxima de tensión, ej. si sacamos 25V max. el divisor será de valor 5...) para leer la tensión de salida.
3-Comparando la tensión de salida con la seteada aumentamos o reducimos el ciclo de trabajo (duty) del PWM que no es más que un pin de salida digital conmutando. buscando que se igualen.
4-Un transistor es necesario pues el pic no te va a entregar mucha corriente por sus pines, apenas unos cuantos miliamperios. Por eso es que necesitas un transistor de potencia, pero el transistor simplemente amplificará la corriente, la salida de tensión sigue siendo conmutada, igual que a la salida del pic por eso debés poner un filtro pasa bajo a la salida del transistor.
diego_z de que parte de Arg. eres???
Saludos.