Conversión AD y pasar a PWM (16f876)

Buenas

Soy nuevo en esto, y estaba haciendo unas pruebas con los distintos modulos del 16f876.

Lo que quería hacer es controlar con un potenciometro la anchura de una señal modulada en PWM, usando el modulo especifico del PIC.

Mi problema es el siguiente, la conversión AD es de 10 bits de resolución, y supuestamente el la modulación PWM tb es de 10 bits, teniendo en cuenta que este dato depende de fOSC y fPWM. Los dos bits de menos valor de la modulación son los bits 4 y 5 del registro CCP1CON, pero lo que yo observo, es que estos dos bits no se con que se comparan., no consigo discernir en que momento se utilizan durante la ejecución del programa.

Analizando el funcionamiento, lo unico que veo es que cuando TMR2 llega al valor de PR2, CCP1 se pone a 1 y TMR2 a 0, y cuando TMR2 llega al valor de CCPR1L (que debe ser menor al de PR2),CCP1 vuelve a 0, pero estos son registros de 8 bits (evidentemente), no sé donde se contempla lo dos bits restantes, que además, se supone que son los de menos peso.

Debido a esto la transformación ya no es de 10 a 10 bits, sino de 10 a 8, lo cual complica el programa.

Ciertamente, este asunto me tiene confundido, si alguien me pudiera explicar el funcionamiento del módulo PWM detalladamente, y solventarme estas dudas, se lo agradecería enormemente.

Saludos.
 
Atrás
Arriba