Tema 18 P08

Páginas: 6 (1473 palabras) Publicado: 18 de mayo de 2015
I.E.S “ ANTONIO MACHADO
ALCALÁ DE HENARES
(MADRID)

EL TIMER 1
Medida del Ancho de Pulso
PROBLEMA P08

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

Medida del ancho de un pulso con el Timer 1
Deseamos medir el ancho de un pulso y visualizarlo en un LCD.
Para realizar esta acción precisamos detectar el flanco de subida
y posteriormente el de bajada de dicho pulso, y medir eltiempo
que transcurre entre ambos sucesos.
Una de las posibles maneras es que al detectar el flanco de
subida es mediante la interrupción externa, seleccionando como
activo el flanco de subida.
Una vez detectada esta situación deberemos realizar dos
acciones:

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

1. Lanzar un timer para que cuente tiempo
2. Cambiar el flanco activo dela interrupción para que detecte
el flanco de bajada.
Una vez detectado el flanco de bajada, lo primero que
deberemos hacer es leer el valor del timer que es el tiempo en
alta de dicho pulso.
De lo anterior se deduce que se están utilizando los siguientes
recursos del micro:
Interrupción externa (INT/RB0)
Timer 1 en modo temporizador.
Si la visualización la deseamos realizar mediante un LCD,deberemos modificar el driver que nos facilita el compilador
para adaptarlo al puerto C, ya que utilizamos el PIN RB0 como
entrada de señal a medir.
13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

„

El circuito que deseamos construir es:

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

Creación de proyecto:

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1PROBLEMA 08

Fijamos: modo temporizador; prescaler del Timer_1 (1:1),

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

Picamos en la pestaña de interrupciones, y en el cuadro de
selección habilitamos la interrupción externa.

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

El fichero.c que genera el propio compilador es:

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOSTIMER_1 PROBLEMA 08

El fichero.h que genera el compilador es:

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

Sobre los ficheros que genera el propio compilador, debemos
observar
1. En ningún lugar se han incluido las sentencias que
seleccionan el flanco activo para provocar la interrupción.
Luego deberemos escribirlo nosotros en main().
Si acudimos al HELP del compiladorobtenemos las funciones
que determinan el flanco activo:

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

En nuestro caso la funciones deberán ser:
ext_int_edge(0,L_TO_H); //flanco activo de L a H
Y
ext_int_edge(0,H_TO_L); //flanco activo de H a L.
También observamos que no se ha incluido el driver del LCD.
En nuestrocaso hemos modificado el driver que trae el propio
compilador para que nos sirva para el puerto C ya que el
original sirve para el puerto B y D.
Seguidamente se señalan las líneas modificadas:

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

Antes denada comprobemos si los cambios que hemos hecho en
el driver del LCD funcionan, para ello escribimos un sencillo
programa que escriba en la 1ª línea del LCD:

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

Veamos el resultado en Proteus:

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

Como podemos
correctamente:

13/01/2009

comprobar

el

nuevo

driverfunciona

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

Editemos el resto del programa:

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

13/01/2009

CCFF D.P.E. MÓDULO DE PROYECTOS TIMER_1 PROBLEMA 08

Comprobemos el funcionamiento del programa. Para ello
inyectamos un pulso a través de RB0, editamos las...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • TEMA 18
  • TEMA 18
  • Tema 18
  • TEMA 18 La Ressurreccio
  • TEMA 18 LA ANTIJURICIDAD
  • Tema 18 Concursos Penal 1
  • Tema 18
  • Tema 18

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS