Está en la página 1de 1

Generar una seal PWM con una frecuencia de 1 kHz, con (a) 20%, (b) 50% y (c) 80%.

Primero, se obtuvo el periodo en base a la frecuencia para cada caso. Con ello, se determin el nmero de veces en las que se debera de realizar una rutina de tiempo. Al elegir un nmero entero para lo anterior, se colocaron las instrucciones necesarias para completar el periodo resultante al principio. (a) Para el primer caso de 20%, se eligi una rutina de tiempo cuyo tiempo total es: T=3+5n. Si el periodo se encontr de 200s, entonces n=39.4. Se eligi n=39 (27 en hexadecimal) y se agregaron 2 instrucciones NOP para completar los 200 s totales. (b) En el segundo caso, con 50%, se manej una rutina de tiempo cuya frmula es: T=3+4.25n. Con un periodo igual a 500s, n result de 116.94. Al elegir n=116 (74H), se colocaron 4 instrucciones NOP extras. (c) Por ltimo, si se trabaja con un valor del 80%, el tiempo a 1kHz ser de 800s. Tambin se manej la rutina de tiempo anterior, T=3+4.25n. Debido a ello, n=187.52. Escogiendo n=188 (BCH), solamente se agreg un NOP de ms a la rutina de tiempo. Para calcular el tiempo en el que la seal se encuentra en bajo, se tom la consideracin que para el primer caso el tiempo en bajo sera igual al tiempo en alto del tercer caso y viceversa. No hay problema con el segundo inciso, ya que la seal es del 50%. Cdigos: Para cada caso, se consider una rotacin a la izquierda y un enmascarado de bits de la palabra 55H.

(a)

(b)

(c)

Pgina 1 de 1