Lab 8 Interrupciones Y Temporizadores

Páginas: 7 (1556 palabras) Publicado: 17 de junio de 2015
Laboratorio 8: Interrupción por Lectura de Entradas y por Desbordamiento del TMR0.
8.1 Objetivo.
Familiarizarse con la utilización de la interrupción por cambio en las Entradas digitales mediante la
implementación práctica de esta guía de laboratorio.
8.2 Introducción.
En casi todos los proyectos es necesario leer alguna entrada de tipo digital conectada a pulsadores,
interruptores, sensoresdigitales o similares. Este laboratorio trata de explicar cómo realizar esto de
la manera más eficiente.
PARTE I
8.3 Interrupciones.
Una Interrupción consiste en un mecanismo por el cual un evento interno o externo puede
interrumpir la ejecución de un programa en cualquier momento. Esto produce un salto automático
a una subrutina de atención a la interrupción, ésta atiende inmediatamente el evento yretoma luego
la ejecución del programa exactamente donde estaba en el momento de ser interrumpido.
Las fuentes de interrupción dependen del PIC utilizado. Por ejemplo, el PIC16F84 tiene 4 fuentes
de interrupción mientras que la familia PIC16F88X tiene entre 13 y 14.
Los PIC de gama baja y media tienen un único vector de interrupción situado en la dirección 04h de
programa, mientras que los de gamaalta tienen dos vectores de interrupción de distinta prioridad,
alta y baja, situados en la posición 08h y 18h de la memoria.
8.3.1 Configuración de las interrupciones.
A continuación se describen un conjunto de funciones que se utilizan para configurar las
interrupciones:
disable_interrupts(level) Deshabilita la interrupción Especificada.
enable_interrupts(level) Habilita la interrupciónespecificada.
clear_interrupt(level) Limpia el flag de interrupción especificado. Esto puede ser utilizado durante
una interrupción global, o para prevenir la utilización de una interrupción.
8.4 Interrupción Externa INT.
La fuente de interrupciones externa INT se utiliza para atender eventos externos en tiempo real, por
ejemplo detectar el cruce por cero de una señal. La interrupción se puede producir siy sólo si el
cambio en RB0/INT es durante el flanco ascendente o si y sólo si es durante el flanco descendente.

8.4.1 Configuración de la interrupción externa INT.
Para realizar la configuración de la interrupción externa INT es necesario realizar lo siguiente:
1. Escribir la rutina de interrupción y sobre ella su directiva a como se muestra a continuación:
#INT_EXT
Void int_ext_isr(){

Códigode la interrupcion

}
2. Dentro de la rutina principal habilitar las interrupciones globales y Habilitar la interrupción INT
a como se muestra a continuación:
Void main(){

enable_interrups(GLOBAL); //Habilita las interrupciones Globales.
enable_interrups(INT_EXT); //Habilita las interrupcion INT_EXT.

}
8.5 Interrupción por cambio en PORTB.
La fuente de interrupciones por cambio en PORTB seutiliza para atender eventos externos en
tiempo real, tales como manejo de botones o interruptores. La interrupción se puede producir si el
cambio en alguno de los Pines en RB es durante el flanco ascendente o si es durante el flanco
descendente.
Todos los pines del PORTB están configurados como pines de Interrupción-en-cambio. Para que se
habilite la interrupción el valor presente es comparado conel valor almacenado en la última lectura
para determinar cuál bit ha sido cambiado o cual no coincide.
Esta interrupción puede despertar al dispositivo del modo sleep. Para salir de la rutina de
interrupción el usuario debe leer el PORTB para eliminar la condición de error.
8.5.1 Configuración de la interrupción por cambio en PORTB.
Para realizar la configuración de la interrupción por esnecesario realizar lo siguiente:
1. Escribir la rutina de interrupción y sobre ella su directiva a como se muestra a continuación:
#INT_RBx
Void RBx_isr(){

Código de la interrupcion

}

2. Dentro de la rutina principal habilitar las interrupciones globales y Habilitar la interrupción
TMR0 a como se muestra a continuación:
Void main(){

enable_interrups(GLOBAL); //Habilita las interrupciones...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lab 8
  • Lab 8
  • Lab 8
  • Lab 8
  • LAB 8
  • Lab 8
  • Practica 8 Lab Quimica
  • Guía lab 8-inorgánica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS