APUNTES DE LA UNIDAD 1 DE MICROELECTRONICA PROGRAMABLE
Enviado por RomarioHS • 12 de Marzo de 2016 • Resumen • 1.097 Palabras (5 Páginas) • 219 Visitas
APUNTES DE LA UNIDAD 1 DE MICROELECTRONICA PROGRAMABLE
RAP 1. Usa interrupciones basadas en temporizadores para resolver problemas.
El PIC 16F648A tiene varias fuentes de interrupción.
- Interrupción externa por RB0/INT
- Interrupción por desbordamiento del Timer
- Interrupción por cambio de estado en los pines de RB4 a RB7
- Interrupción por comparador
- Interrupción por transmisión por USART (universal synchronous asynchronous receiver transmitter)
- Interrupción por recepción por USART (universal synchronous asynchronous receiver transmitter)
- Por lectura de la EEPROM
En ésta unidad utilizaremos el microcontrolador PIC16F648A o PIC16F628A, por lo que nos basaremos en las hojas de especificaciones de éstos.
La dirección del vector de interrupción es la 0x004.
El registro asociado a las interrupciones es el INTCON el cual es un registro leíble y escribible que contiene las habilitaciones y banderas para usar las diferentes fuentes de interrupción, excepto las del modulo comparador.
La descripción de este registro es la siguiente.
[pic 1]
GIE: Bit de habilitación global de interrupciones;
1= habilitadas
0= deshabilitadas
PEIE: Bit de habilitación de las interrupciones periféricas
1= Habilitadas
0= deshabilitadas
TOIE: Bit de habilitación de la interrupción por desbordamiento del timer
1= Habilitadas
0= deshabilitadas
INTE: Bit de habilitación de la interrupción por externa por RB0
1= Habilitadas
0= deshabilitadas
RBIE: Bit de habilitación de la interrupción por cambio en el puerto B
1= Habilitadas
0= deshabilitadas
TOIF: Bandera que señala que ocurrio una interrupción por desbordamiento del
Timer
1= ha ocurrido un desbordamiento del timer 0
0= no se ha desbordado el timer 0
INTF: Bandera que señala que ha ocurrido interrupción porRB0/INT
1= ha ocurrido una interrupción por RB0/INT
0= no ha ocurrido una interrupción por RB0/INT
RBIF: Bandera que señala que ocurrio interrupción por cambio de estado en las
líneas del puerto B.
1= se pone en uno cuando al menos uno de los pines de RB4 a RB7
cambia de estado
0= indica que ningún pin ha cambiado
La interrupción por desbordamiento del TMR0 ocurre cuando el timer TMR0 cambia del conteo FFh A 00h. Este desbordamiento activa la bandera T0IF del registro INTCON produciendo una interrupción. La bandera T0IF debe ser limpiada (puesta a cero) en la rutina de atención a la interrupción antes de volver a habilitar la interrupción. La interrupción por el timer 0 no puede despertar al procesador cuando esta en modo sleep (dormido) ya que el timer esta apagado cuando el procesador esta en este modo.
Los bits asociados al TMR0 son los siguientes:
[pic 2]
El diagrama del timer 0 es el siguiente.
[pic 3]
UTILIZACIÓN DEL TMR0
Un timer se implementa por medio de un contador que determina un tiempo preciso entre el momento en que el valor es cargado y el instante en el que se produce el desbordamiento. El TMR0 se inicializa con un valor, que se incrementa con cada impulso de entrada hasta su valor maximo FFh, con el siguiente impulso se desborda pasando a valer 00h y se activa la bandera T0IF localizado en el registro INTCON.
...