Autor Tema: Problemas para generar 2 frecuencias con semiciclos 50%  (Leído 1794 veces)

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

Desconectado gasparin

  • PIC10
  • *
  • Mensajes: 20
Problemas para generar 2 frecuencias con semiciclos 50%
« en: 14 de Abril de 2009, 00:15:46 »
Amigos es mi primera participación en el aspecto de pedir de ustedes una orientación con el programa que estoy realizando
Mi intención es generar dos frecuencias una de 60 ciclos y la otra de 15625 ciclos usando el PIC 16f84a con cristal de 4mhz
Las señales las sacare a través del puerto B 3 y 4
El problema que tengo es que no puedo generar una señal completamente cuadrada si no que al terminar el primer periodo de la señal de 60 ciclos y comenzar de nuevo me introduce un error de 4us en el periodo de la frecuencia de 15625, en el primer semiciclo de esta frecuencia o sea que en ves de generar 32us me genera 36us y esto sucede cuando regreso del final del programa al inicio   
 Mi pregunta va orientada en saber si el error lo estoy cometiendo por la forma en que eh desarrollado el programa o no es la forma de generar estos retardos
Deseó aclarar es mi primer programa, todo lo que eh realizado como proyectos fáciles de construir es lo que gustosamente ustedes han aportado a través de este foro 
Agrego el programa para que lo puedan revisar  y así si no es mucho pedir me expliquen donde me estoy equivocando
El que no nace para servir no sirve para vivir

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Problemas para generar 2 frecuencias con semiciclos 50%
« Respuesta #1 en: 14 de Abril de 2009, 09:46:48 »
Hola, debes tener en cuenta, que cada instruccion, con el cristal de 4 mhz, se realiza en 1 uS, por lo tanto, a tus demoras, de 10uS le agregas un par de NOP para llegar a los 32uS... pero piensa que al ejecutar
   bsf     PORTB, 4         ; vert sync
  bsf     PORTB, 3         ; H  Sync 
tambien estas sumando 2 uS mas
y al ejecutar
       decfsz  Contador1          ;
si no es cero, le suma un uS, y si salta, son 2uS....
(las instrucciones de salto, consumen 2uS) :mrgreen:

para empezar, trataria de quitar los dos NOP, y experimentar viendo los tiempos en el MPLAB...

Suerte!

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado gasparin

  • PIC10
  • *
  • Mensajes: 20
Re: Problemas para generar 2 frecuencias con semiciclos 50%
« Respuesta #2 en: 14 de Abril de 2009, 14:53:24 »
Gracias Norberto por responder te aclaro eh realizado las correcciones que he considerado pertinente y el resultado no a sido el esperado voy a empezar de nuevo :)
 
El que no nace para servir no sirve para vivir

Desconectado gasparin

  • PIC10
  • *
  • Mensajes: 20
Re: Problemas para generar 2 frecuencias con semiciclos 50%
« Respuesta #3 en: 16 de Abril de 2009, 01:25:11 »
Hola
Quiero comentarles que reestructure el programa y incremente la frecuencia del cristal a 20mz ahora el error que tengo es de 1 microsegundo, por el momento considero que es lo mas cercano que puedo lograr veré si a través de tmro se puede hacer lo que quiero  :)
El que no nace para servir no sirve para vivir