Autor Tema: Contador impulsos 16F876A  (Leído 1610 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado pdurden

  • PIC10
  • *
  • Mensajes: 21
Contador impulsos 16F876A
« en: 01 de Noviembre de 2005, 09:19:00 »
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"Giño;

   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.