Aqu expongo algunas de las ideas, trucos, o consejos que son tiles para m en programacin y diseo de sistemas con microcontroladores PIC (vlidas tambin para otros microcontroladores). 1. Recordatorio : configuracin entradas y salidas: 1 para entrar y 0 para salir. 2.Ante una duda primero consulta la hoja de datos o datasheet. Esto es sagrado ya que un error de configuracin puede no hacer funcionar el circuito. 3.Para evitar reinicios inesperados, configurar los pins no usados como salidas y programado (a 0 o 1) Si son programados como entrada conectar una resistencias de 10k a Vdd o Vss. Tambin pueden configurarse como entradas analgicas.Pon el MCLR con en hardarware que indica la hoja de datos. Deshabilita BOR.Utilizar las resistencias pull-up. 3.Utiliza antirebotes por software o hardware en los pulsadores . 4.Utiliza condensadores de desacoplo en motores, pulsadores. 5.En rel activado por transistor ,utiliza un diodo de proteccin para proteger al transistor. 6.Para realizar comunicaciones por puerto serie sin tasa de error en todas las velocidades,utiliza un cristal oscilador mltiplo de las frecuencias ( BAUDRATE). 7. Utiliza una batera o un grupo de pilas como fuente de alimentacin, para empezar a disear, ya que evitan posibles interferencias de un adaptador de red. (Una LIPO de 7,4V es muy prctica). 8. A modo de entrada analgica puedes utilizar un encoder rotativo (son necesarios 2 pin de entrada), si no hay disponibles entradas analgicas en el PIC. 9.Es muy til realizar la placa de prototipos con proteccin para entradas y salidas con una red zener+resistencia: a.Una resistencia de 200 en serie protege un pin configurado como salida (en caso de conectar la salida accidentalmente a Vss. no se daa el microcontrolador. b.Un diodo zener de 5,1v polarizado inversamente en paralelo a la entrada, evita que llegue al microcontrolador una tension mayor de 5,1V. 10.Se puede empezar aprender muchsimo de microcontroladores con el ms sencillo, por ejemplo, PIC12F508 0 PIC12F683, ya que son mas sencillos y se publican muchsimas ideas. Son econmicos (por si se destruyen accidentalmente) y despus , lo aprendido se puede aplicar a otros superiores. 11.Si algo no funciona despus de montado y programado:
1. Repasa conexiones electricas: alimentacin, conexin de perifericos,
alimentacin de perifricos. 2 Repasa programacin. 12. Para depurar errores usa la funcin depuracin si el microcontrolador lo admite.Es muy til para ver como quedan los registros. 13. Usa un monitor de puerto serie como Terminal V1.9b, o traza salidas por pin para visualizar salidas a la hora de depurar. 14.Utiliza el TIMER1 como reloj en tiempo real, conectando un oscilador de 32.768 khz en la entradas (t1osc), esta preparado para ello. 15. La funcion printf(), junto con el terminal puerto serie es muy til para realizar seguimiento del programa, pero si es un microcontrolador pequeo, utiliza demasiado espacio de memoria. 16. Utiliza el voltaje de referencia con VRCON, y ahorra un pin de entrada en el comparador. 17. Desconecta VROE (VROE=0), y RA2 queda libre como pin de E/S. 18. Define variables globales fuera de la funcion main(). 19. Para usar menos memoria, utiliza un vector con parmetros en intervalos en vez de funciones matemticas que consumen mucha memoria, ej, sin(), cos(), etc. 20. Al disminuir el voltaje o la frecuencia , disminuyen las interferenciaselectromagnticas. 21.Antes de cargar un programa nuevo en un prototipo con microncotrolador, asegurate de que estan configurados correctamente los pines que estn conectados. Configurar un pin como salida y luego tenerla conectada a masa puede quemar la salida o el microcontrolador. 22.Si tu compilador lo permite, utiliza variables tipo char , en vez de int , para ocupar menos memoria, por ejemplo:
char i;
for (i=0;i<10;i++)
..
incluso si es una variable binaria, tipo bit.
23.Utiliza resistencias de al menos 365 o mas entre las entradas del circuito y los pins PCG Y PGD del programador (pickit2/3-microcontrolador) eviataras errores a la hora de grabar el programa en el microcontrolador.