ayuda con program pic16F876

Martina
23 de Septiembre del 2004
Hola a tod@s: Soy nueva en esto del pic, y me gustar铆a saber si alguien podria decirme como programar una aplicaci贸n tan sencilla,para mi no lo es :(, como esta: "Necesito que cada 50msg se produzca una interrupci贸n que lea el valor de una entrada analogica y saque el resultado por un puerto ".
Muchas gracias por adelantado, espero que alguien me ayude, porque necesito saber hacerlo y no s茅 c贸mo.

Zeros Metalium
23 de Septiembre del 2004
Podes usar el TIMER 0 y en ORG 0x004 (pocicion de interrupcion) poner el codigo de convercion A/D y sacar el dato por puerto (serie/paraleo? serie tenes que usar el UART del PIC pero de este PicMicro no use nunca este modulo, siempre lo hice por software)
Bueno para hacer que la interrupcion del timer 0 te funcione tene que alterar el INTCON y tal vez el OPTION.
En INTCON tenemos que alterar GIE=1 y TOIE=1. Cuando recivimos la interrupcion ponemos el bit T0IF a 0 para que no nos interrumpa de nuevo al hacer RETFIE.
Lo de los 50ms (milisegudos?) lo haces jugando con el preecalador en OPTION (bits 0 a 3) que seleccionan una divicion del timer 0 por 2, 4,, 8, 16... hasta 128 (000 a 111)
Yo hago que TIMER 0 no use preescalador y exista ua interupcion cada 256 ciclos de maquina (podemos cambiar esto iniciando el TMER 0 en 5 con lo que conseguiriamos una interrupcion cada 250 ms) y cuento una variable hastaque sean n*2 interrupciones (en tu caso 100 interrupciones tenes que contar antes de hacer el codigo de convercion AD)

Mira con cuidado las hojas de datos de este PIC porque tiene una descripcion muy buena de como se trabaja con el (aunque esta en ingles) en www.microchip.com

Suerte y cualquier duda planteala ca.