Generar una señal 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 número de veces en las que se debería de realizar una rutina de tiempo. Al elegir un número 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 200µs, 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 fórmula es: T=3+4.25n. Con un periodo igual a 500µs, 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 800µs. También 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 más a la rutina de tiempo. Para calcular el tiempo en el que la señal se encuentra en bajo, se tomó la consideración que para el primer caso el tiempo en bajo sería igual al tiempo en alto del tercer caso y viceversa. No hay problema con el segundo inciso, ya que la señal es del 50%. Códigos: Para cada caso, se consideró una rotación a la izquierda y un enmascarado de bits de la palabra 55H.

(a)

(b)

(c)

Página 1 de 1

Sign up to vote on this title
UsefulNot useful