hola a todos, hoy vengo a pedir una pequeña consulta para ver si es que estoy fallando en algo.
resulta que tome el codico de EX_freq y lo monte a diferencia es que estoy utilizando un pic 16f873a y no un 16f877 como es originalmente en el ejemplo y lo visualiso en una lcd y no con el max232. el problema radica en que aparecen simbolos extraños cuando aliento el circuito y lo mas raro es que sicambio el cristal de 20MHZ a 4Mhz si me aparece la frecuancia pero aumentada como como veces. ya no se que hacer y la simulacion en pruteus es perfecta
agradeceria su colaboracion.
CODIGO
#include <16f873.h>
#fuses xt,nowdt,noprotect,nolvp,nowrt,nobrownout
#use delay(clock=20000000)
#bit t1_overflow=0x0C.0
#include <lcd.c>
main()
{
int cycles8, cycles;
int32 freq;
long freqc_high;
long freqc_low;
lcd_init();
while (TRUE)
{
cycles8=0;
cycles=0;
freqc_high=0;
t1_overflow=0;
set_timer1(0);
setup_timer_1(T1_EXTERNAL|T1_DIV_BY_1);
while (cycles!=0xFF)
{
cycles8=0;
while (cycles8!=0xFF)
{
if (t1_overflow)
{
t1_overflow=0;
freqc_high++;
}
else
{
delay_cycles(5);
}
delay_cycles(62);
cycles8++;
}
delay_cycles(216);
cycles++;
}
delay_cycles(211);
setup_timer_1(T1_DISABLED);
if (t1_overflow)
freqc_high++;
freqc_low=get_timer1();
freq=make32(freqc_high,freqc_low);
//freq/=5;
printf(lcd_putc,"\f%LU Hz",freq);
}
}