Autor Tema: problemas con Ex_freq de ccs  (Leído 1534 veces)

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

Desconectado hectdiaf

  • PIC10
  • *
  • Mensajes: 18
problemas con Ex_freq de ccs
« en: 08 de Diciembre de 2008, 18:33:39 »
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);
  }
}

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: problemas con Ex_freq de ccs
« Respuesta #1 en: 10 de Diciembre de 2008, 15:44:38 »
Hola.

Yo lo tengo montado con un 16F873A y me funciona bien.

Cambia lo siguiente:
Código: [Seleccionar]
#fuses  HS,NOWDT,NOPROTECT,NOLVP

Si te corre a 4MHz es porque tu mismo estabas definiendo el oscilador a 4MHz (#fuse XT) y el ejemplo es para un cristal de 20MHz (#fuse HS)

Saludos
El papel lo aguanta todo

Desconectado hectdiaf

  • PIC10
  • *
  • Mensajes: 18
Re: problemas con Ex_freq de ccs
« Respuesta #2 en: 12 de Diciembre de 2008, 00:33:02 »
MLO muchisimas gracias.

pero me podrias explicar que diferencia que tiene entre colocar XT a HS por que yo creia que era otro tipo de  osilador externo.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: problemas con Ex_freq de ccs
« Respuesta #3 en: 12 de Diciembre de 2008, 12:27:47 »
Hola.

La diferencia esta en el tipo de cristal que debes colocar, mira en el datasheet del PIC16F873A en la pag.146, tabla 14.2.

Saludos
El papel lo aguanta todo


 

anything