Ayuda con PWM en Assembler

Hola a todos :)

Tengo una gran duda sobre el PWM en lenguaje assembler, y tiene que ver con las formulas:

Necesito generar una onda cuadrada cuyo nivel alto dure 7,45mS y su nivel bajo dure 20mS, y no consigo entender como hacer los calculos para obtener eso.

Conozco la sintáxis de assembler y se utilizarlo, solo necesito ayuda con el calculo y las formulas que no logro entender a pesar de todo lo que he leido :(

Muchas gracias.
 
disculpa men se me olvidó ese detalle:

Estoy usando un PIC 16F628A con cristal de 4MHz.

Como te digo necesito generar una onda cuadrada con nivel alto 7,45mS y nivel bajo 20mS. Sin embargo no logro entender las formulas que vienen en la datasheet y las que hay en internet se basan en la frecuencia de la señal y en el duty cycle pero en porcentaje, no en mS, y no comprendo, ya me he dado demasiados cabezasos contra la pared :/
 
Pues el porcentaje o ciclo util es sencillo, la señal tiene un T=27.45mS (indirectamente la Frecuencia) ahora tiene un tiempo en alto de 7.45mS entonces si 27.45=100%........7.45=xx% ya ahi tiene el Ciclo UTIL, con ese valor determine los valores a cargar en los registro del Modulo PWM, chauuuuuuuuuu

Te mando este documento leelo y releelo, chauuuuuu
 

Adjuntos

  • pwm-ccp.pdf
    207.2 KB · Visitas: 186
Última edición:
La formula que aparece es esta:

PWMduty cycle = (CCPRxL:CCPxCON[5:4]) * Tosc * (TMR2 presc)

Está bien, sale todo como se hace.. pero que se supone que debo poner en la calculadora!!! mira cuanta challa sale en esa formula.
 
Atrás
Arriba