Pues mi problema es el siguiente. Trabajaba con un 16F876 pero una mala conexion en la salida CCP1 fastidio el pin, y parece ser q tb fastidio el del CCP2. El resto de i/o funcionan bien pero tuve q comprar otro PIC. En la tienda me dieron un 16F876A, y me di cuenta mas tarde pero segun creo la unica diferencia es q el de la serie A tiene alguna utilidad mas, q para mi caso es lo mismo.
El caso es q cargo un programa para probar la el funcionamiento de un generador de impulsos, utilizando el contador del RTCC, y mostrandolo en un lcd, y el nuevo PIC va a su bola le meta o no le meta impulsos, haciendo un contaje k se incrementa cada 5 sg aprox y q se inicia segun le parezca. Lo cargue mil veces por si hice algo mal pero nada. El mismo programa lo cargo en el PIC jodido, y funcina correctamente (no exige utilizar los pines CCP, k son los k estan estropeados).
ahora mismo no se k mas probar. Otros programas me funcinan igual en los dos pero este de contaje k debo utilizar me falla.
Cuelgo el programa para a ver si a alguein se le ocurre cual puede ser mi fallo:
#include <16F876.h>
#use delay (clock=4000000)
#fuses XT,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP //ordenes para el programador
#include<lcd.c> //libreria manejo lcd
#use fast_io(a)
int count=0;
void main()
{
set_tris_a(0xFF);
lcd_init();
lcd_putc("f"
;
setup_timer_0 ( RTCC_EXT_L_TO_H|RTCC_DIV_1); //los impulsos por RA4/T0CKI
set_timer0(56); //si optoacoplador impulsos 100Hz, cada 2sg ++count
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
while(TRUE){
delay_ms(500);
printf(lcd_putc, "f%u impulsos", count);
}
}
#INT_TIMER0
void wave_timer() {
set_timer0(56);
++count;
}
Probe tb con la libreria 16f876a.h pero sigue igual y ademas se puede utilizar la del 16f876 pues la configuracion es la misma. Lo unico q tuve k variar es la deteccion del winpic800 para poder cargar el programa en el micro.