MICROCONTROLADORES

4

Click here to load reader

description

TIMERS

Transcript of MICROCONTROLADORES

Page 1: MICROCONTROLADORES

MICROCONTROLADORES

ESCUELA POLITÉCNICA DEL

EJÉRCITO

TITULO TIMER1 Y TIMER2

ABSTRACT

Una interrupción es un evento que hace que el microcontrolador deje de ejecutar la tarea que está realizando para atender dicho acontecimiento y luego regrese y continúe la tarea que estaba realizando antes de que se presentara la interrupción.Las interrupciones son desviaciones del flujo de control del programa originadas asíncronamente, por diversos sucesos que no se hallan bajo la supervisión de las instrucciones. Dichos sucesos pueden ser externos al sistema, como la generación de un flanco o nivel activo en una patilla del microcontrolador, o bien, internos, como el desbordamiento de un contador

(Arial, cursiva, 10, espacio sencillo)

PALABRA CLAVE

Interrupcinoes en el micro Interrupción RB0 Interrupcion RB4-RB7.

DESARROLLO

1. INTERRUPCIONES

La idea de colocar una instrucción de salto incondicional, es la de trasladar el flujo del programa a la zona de memoria de código que contiene a la rutina de interrupción.

INTERRUPCIÓN EXTERNA RB0/INT

Para RB0/INT la bandera es INTF (Bit1)

La fuente de interrupciones INT es sumamente importante para atender eventos externos en tiempo real.

Cuando en la línea RB0/INT se hace una petición de interrupción, entonces, de forma

automática, el bit INTF del registro INTCON se pone a 1 y si el bit GIE=1, se pone en marcha el mecanismo que ya hemos comentado de la interrupción. Mediante el bit INTDEG del registro OPTION, se puede seleccionar el flanco activo de RBO/INT, ya que con este puesto 1 el flanco activo es el de subida y cuando está a 0 el flanco activo es el de bajada.

El programa de atención a la interrupción antes de regresar al programa principal debe borrar la bandera (el flag) INTF, puesto que en caso contrario al ejecutar la instrucción de retorno de interrupción RETFIE se volverá a desarrollar el mismo proceso de interrupción.

Page 2: MICROCONTROLADORES

MICROCONTROLADORES

En cuanto a los pines del PIC la señal externa para producir la interrupción en el PIC será a través de de la patilla 6 y se podrá determinar por software que flanco de la señal producirá la interrupción, el de subida (cuando la señal pasa de un nivel 0 a 1) ó el de bajada (cuando pasa de 1 a 0).

Vamos a ver ahora los registros específicos (SFR) que nos proporciona el PIC para el control de esta interrupción.

INTEDG: flanco activo interrupción externa.

1- la interrupción se producirá en el flanco ascendente.

0- la interrupción se producirá en el flanco descendente.

GIE: (Habilita las interrupciones globalmente). Este bit permite que cualquier interrupción sea posible. Para poder usar cualquier interrupción hay que habilitarla globalmente e individualmente.

INTE: Permiso de interrupción por activación de la patilla RB0/INT

1- permite la interrupción

0- prohíbe la interrupción

INTF: bit de señalización (solo lectura) de interrupción externa RB0/INT

INTERRUPCION POR CAMBIO DE ESTADO EN LOS PINES RB7:RB4.

Parar los pines RB4 a RB7, es RBIF (Bit0)

Para activar la interrupción por cambio de nivel en los pines <RB7:RB4>, los bits RBIE y GIE del registro INTCON deben de estar a 1, bajo estas condiciones cuando se produce un cambio de nivel en cualquiera de los pines RB7:RB0 se activa el flag RBIF del registro INTCON.

Como siempre debemos habilitar la interrupción global y la particular:

GIE: Permiso global de interrupción.

1 – Permite todas las interrupciones cuyos bits particulares de permiso lo permitan.

0 – Prohíbe todas las interrupciones

RBI: Permiso de interrupción por cambio de estado en RB7:RB4

1 – Permite la interrupción

0 –Prohíbe está interrupción

RBIF: Señalización ó flag por cambio de estado de las patillas RB7:RB4.

Page 3: MICROCONTROLADORES

MICROCONTROLADORES

1 – indica que la interrupción se ha producido.

0 – indica que no se ha activado.

2. CONCLUSIONES

Las interrupciones en RB4-RB7 están especialmente pensadas para el control de un teclado matricial de 4 x 4, es decir de 16 teclas.

Las interrupciones constituyen el mecanismo más importante para la conexión del microcontrolador con el exterior ya que sincroniza la ejecución de programas con los acontecimientos externos

Una interrupción es muy importante cuando deseamos realizar una tarea que no dependa de una exploración constante del programa sobre la misma.

Una interrupción es importante cuando deseamos que nuestro programa responda de forma inmediata y automática a determinados eventos.

Para programar la interrupción por flanco de bajada/subida hay que poner a cero/uno el bit INTEDG del registro OPTION_REG.

La interrupciones pueden ser por software o hardware.

3. BIBLIOGRAFIA

http://www.aquihayapuntes.com/indice-practicas-pic-en-c/interrupcion-cambio-de-

estado-rb4-rb7.html

http://www.buenastareas.com/ensayos/Practica-Interrupciones-Pic-

16F887/1279972.html

http://www.ucontrol.com.ar/forosmf/jal-y-jalv2/como-programar-una-interrupcion-en-el-

pic-16f887/