guia taller timer interrupciones ok

Páginas: 10 (2448 palabras) Publicado: 18 de julio de 2015
GUÍA DE EJERCICIOS
TEMA: 2
TIMER 0 E INTERRUPCIONES

1

1. Genere una señal cuadrada de 200 Hz. Diseño libre.
Paso 1. Enunciado y delimitación del problema:
Como no se ha especificado por cual pin del microcontrolador saldrá la
Señal, asumiremos RB0. Cuando se trabaja con el Timer 0, se deben incluir los
cálculos que se hayan realizado para generar el retardo deseado.
Para una frecuencia de 200Hz, tendremos un período de:

Como no se ha especificado el ciclo de trabajo, asumiremos el 50 %, por
lo que el período en alto y en bajo serán iguales, es decir 2,5 ms
Hagamos los cálculos para 2,5 ms:

De la fórmula proporcionada en la Unidad IV, despejando nos quedará:

Sustituyendo los valores (Como no se nos especificó el oscilador, Asumiremos el
estándar de 4 MHz:

2

Paso 2. Diagrama deFlujo:

FORMA A
INICIO

DELAY5MS

Configurar
Puerto B

Cargamos valor calculado
en el TIMER0

Configurar
OPTION_REG

Borramos el
Señalizador TOIF

Inicializamos
PORTB
¿TOIF=1?
RB0=1

SI
return

DELAY5MS

RB0=0

DELAY5MS

3

NO

Paso 3. Realice el programa en Lenguaje c:
Nota: Generalmente cuando los puertos A y/o B pueden sufrir modificaciones
dentro de la rutina de interrupción, se salva elentorno (Se verán en los
ejemplos 3, 4 y 5), sin embargo para este ejemplo, no se modifican otros bits
de los puertos, por lo que no es necesario salvar el entorno.

4

2. Genera la siguiente señal. (Use Timer 0 e interrupción)

100 ms
2 segundos

Paso 1. Enunciado y delimitación del problema:
Como no se ha especificado por cual pin del microcontrolador saldrá la señal,
asumiremos RB0.
Cuando setrabaja con el Timer 0, se deben incluir los cálculos que se hayan realizado
para generar el retardo deseado.
En la gráfica, podemos extraer el período de la señal cuadrada cuyo valor es de
100 ms, y asumiendo un ciclo de trabajo del 50 %, tendremos que la señal en alto es igual a la
señal en bajo, por lo tanto su duración o período será de 50 ms.
Hagamos los cálculos para 50 ms:
De la fórmulaproporcionada en la Unidad IV, despejando nos quedará:
TMRO= Temporizacion/(4*Tosc*predivisor TMR0)
Sustituyendo los valores como no se especificó asumiremos uno de 4MHZ.
VTMRO = 50ms/(4*(1/4MHZ)*256)=195
VTMRO = 256- valor real TMR0

----- >

256-195=61
Por lo que debemos cargar en TMR0=61

T

5

valor real TMR0 = 256- VTMR0

¿Por qué el predivisor de 256?
Sencillo, repasando la teoría, recordaremos queel valor del Timer 0 a
cargar no podrá exceder bajo ningún concepto 256. Si colocamos otro
predivisor del rango disponible, el resultado será mayor a 256.
¿Cómo encaro el problema?
En esta señal solicitada, si nos damos cuenta, la señal cuadrada se
genera 10 veces, dando un tiempo de 1 segundo, si la señal entera, antes de que
se repita el ciclo nuevamente, es de 2 segundos, vale decir que durante10
veces el tiempo de 100 ms, la señal no bascula u oscila, por lo que podemos
utilizar un contador de temporización para determinar si la señal oscilará o no.
Durante las primeras 20 temporizaciones de 50 ms, la señal de salida
oscilará, durante las siguientes 20 temporizaciones de 50 ms, la señal de salida
no oscilará, utilizando el contador resolveremos este problema.
¿Y dónde utilizo elcontador?
El desarrollo de la señal se fundamenta en una interrupción por desborde
del Timer0 para los 50 ms calculados, por lo tanto el contador se utilizará
dentro de la rutina de servicio de la interrupción. Veamos el Diagrama de flujo
para entenderlo mejor:

6

Paso 2. Diagrama de Flujo:
INICIO

RSI

Declarar
CONTADOR

Deshabilitar
Interrupciones

Configurar
Puerto A y B

¿TOIF=1?

NO
SALIR

SIConfigurar
INTCON y OPTION_REG

Borramos el
Señalizador TOIF

Inicializamos
CONTADOR y PORTB
¿Contador
>20?
Cargamos valor calculado
en el TIMER0

NO

¿Contador
>40?

SI
Bascular RB0

Para evitar un reinicio del programa
Limpiamos el Perro Guardián

CONTADOR=CONTADOR+1
SALIR
Habilitar
Interrupciones
retfie

Paso 3. Realice el programa en Lenguaje C:

7

CONTADOR=0

A

C1

B

U1
22p

C2

X1

16...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • GUIA DE TRIGONOMETRIA OK
  • Guia de taller
  • Guia De Tallas
  • Guia De Taller
  • Guia Taller
  • Guia De Taller
  • guia de taller
  • talle guia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS