TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: gasparin en 14 de Abril de 2009, 00:15:46

Título: Problemas para generar 2 frecuencias con semiciclos 50%
Publicado por: gasparin 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
Título: Re: Problemas para generar 2 frecuencias con semiciclos 50%
Publicado por: todopic 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
Título: Re: Problemas para generar 2 frecuencias con semiciclos 50%
Publicado por: gasparin 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 :)
 
Título: Re: Problemas para generar 2 frecuencias con semiciclos 50%
Publicado por: gasparin 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  :)