Generacion de onda cuadrada con AT89c51ED2

#1
Hola a todos, los molesto para ver si me pueden ayudar, ya que supera mis conocimientos!!

Me piden generar una onda cuadrada de la mayor frecuencia posible con un cristal de 40MHz utilizando Timers en un uC AT89c51ED2.

Según el Datasheet, el AT89c51ED2 soporta como máximo un cristal de 40MHZ en el modo estandard, y considerando que 1 ciclo de maquina es igual a Fosc/12, esto me da que cada incremento en el contador del timer se hará cada 0,3useg.
La idea es utilizar el timer 0 en modo 2 con autorrecarga y cargar los registros TL0 y TH0 con el valor 255 (máxima frecuencia posible) para que al realizar un sólo incremento desborde el timer e interrumpa.
En la RSI del timer sólo genero el complemento del nivel lógico del pin P0.1 mediante la instrucción CPL y listo.
Supuestamente estaria generando en el pin p0.1 una onda cuadarada de período 2x0,3us=0,6useg.

Me preguntan ¿Que problema acarrea la generacion de la onda cuadrada mediante el timer?, ¿Podria obtenerse un ciclo de trabajo diferente? y realizar una analisis del ciclo de trabajo de la onda cuadrada.

En fin, creo estar generando bien la onda con esos valores de inicialización, pero prácticamente no se si hay alguna limitación que desconozca.
Con respecto a las preguntas; alguien me puede ayudar a interpretarlas, saber a que apuntan las mismas?

Desde ya, agradezco su tiempo!! Saludos
 
Última edición:
#2
La limitacion es obvia... el CPU queda completamente enfocado a generar la forma de onda y no va a poder realizar nada mas.... ya que le enviarias una interrupcion cada 0.6uS
 
#3
Gacias Chico3001, no lo estaba viendo desde ese punto de vista. Tenes razón, el micro estaría el 100% ocupado en eso; yo estaba creido que hablaba de algun tipo de error en la señal, retardos, errores en la frecuencia o algo por el estilo.

Gracias
 
Arriba