Microcontroladores - Puerto de entrada de frecuencimetro

   
Vista:

Puerto de entrada de frecuencimetro

Publicado por Luis Fernando argos.1999@gmail.com (1 intervención) el 28/04/2013 21:44:02
Hola, es que estoy intentado hacer funcionar un frecuencimetro que encontre en un blog, entonces el dueño no lleva mucho tiempo activo así que me duda era por que puerto o pin del micro la señal a la que le deseo tomar la frecuencia deben entrar o quizás yo este simulándolo mal en proteus, agradecería su ayuda. Gracias
Este es el codigo que el hizo


#include <16f877a.h>
#device adc=10 // Configuracion del Analo. a 10 bits
#fuses XT
#fuses NOWDT
#fuses NOPROTECT
#fuses PUT
#use delay (clock = 4000000) //Definimos el valor del Crystal
#include "LCD.C" // Cargamos la libreria del LCD

int cont1,cont2; // Declaracion de variables
int32 ppm = 0;
float algo;

#int_EXT // Configuracion de interrupciones externas
void EXT_isr()
{
delay_ms(1);
disable_interrupts(int_EXT);
enable_interrupts(int_EXT);
++ppm;
}
#int_timer0 // Configuracion de las interrupciones internas
void TIMER0_isr()
{
set_timer0(0);
++cont1;
if (cont1 == 245) // Aproximadamente es un Segundo por desbordamiento de banderas
{
cont1 = 0;
++cont2;
}
}
void presenta (void) // presentacion de incio al encender el PIC
{
lcd_gotoxy(6,1);
lcd_putc("ECG");
lcd_gotoxy(6,2);
lcd_putc("Frecuencimetro..");
}


void main()
{

set_tris_a(0xff); // configuracion de las salidas y entradas
set_tris_b(0x01);
set_tris_c(0x00);
set_tris_d(0x00);
set_tris_e(0x00);
enable_interrupts(GLOBAL|INT_EXT|INT_TIMER0); // Habilitamos las interrupciones
ext_int_edge (L_TO_H);
setup_timer_0(RTCC_DIV_16);
output_c(0);
lcd_init(); //Inicializamos el LCD
presenta(); // Llamadod e la funcion presenta
while(TRUE)
{
if (cont2 == 1)
{
cont2 = 0;
cont1 = 0;
algo=ppm/1;
lcd_putc("\f");
lcd_gotoxy(6,1);
printf (lcd_putc, "# Pulsos: %ld",ppm);
lcd_gotoxy(6,2);
printf (lcd_putc, "Frecuencia:%f%%",algo);
ppm = 0;
algo = 0;
}
}
}

http://jd-tronics.blogspot.com/2010/04/frecuencimetro-16f877a.html

simulacion en proteus (quizas me haya equivocado aca)

http://www.mediafire.com/view/?5q3m2yna94cgapp
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder