Documentos de Académico
Documentos de Profesional
Documentos de Cultura
División de la memoria
Empleo de retardos en la
operación
Uso de Subrutinas
Manejo de Interrupciones
Diferentes tipos de
interrupciones
Manejo de Interrupciones
Programación a bajo
nivel de micro- Diferencias manejo de interrupciones PIC16F877
controladores
Maneja las mismas causas de interrupción del PIC16F84
Estructura y PINES de los
Micro-controladores pero adicionalmente maneja las siguientes:
5. Desbordamiento del Timer1
División de la memoria
6. Desbordamiento del Timer2
Manejo de Puertos digitales
(escritura) 7. Captura o comparación en el módulo CCP1
Empleo de retardos en la
8. Captura o comparación en el módulo CCP2
operación 9. Transferencia en la puerta serie Síncrona
Uso de Subrutinas 10. Colisión de bus en la puerta serie Síncrona
Manejo de Puertos digitales 11. Fin de la transmisión en el USART
(lectura) 12. Fin de la recepción en el USART
Manejo de Tablas de datos 13. Fin de la conversión en el conversor A/D
Manejo de Interrupciones 14. Transferencia en la puerta paralela esclava
Diferentes tipos de
interrupciones
Manejo de Interrupciones
Programación a bajo
nivel de micro- Solo se van a estudiar inicialmente las interrupciones comunes
controladores en los dos tipos de PIC, es decir las cuatro iniciales.
Estructura y PINES de los
Micro-controladores
Se debe tener en cuenta que mientras se está ejecutando una
División de la memoria interrupción no se puede producir otra interrupción, el PIC no
lo permite.
Manejo de Puertos digitales
(escritura)
Empleo de retardos en la
Las acciones que debe tener en cuenta el programador al crear
operación sus programas, son las siguientes:
Uso de Subrutinas
• Cuando se produce una interrupción el bit7 GIE se pone a 0,
cuando termina la interrupción vuelve a 1
Manejo de Puertos digitales automáticamente.
(lectura)
• El valor del registro PC se guarda en la Pila (Stack) con el
Manejo de Tablas de datos valor 04h, que es el vector de interrupciones.
Manejo de Interrupciones • La rutina de atención a la interrupción, debe guardar todos
los registros que puedan ser modificados por la
Diferentes tipos de interrupción y explorar las banderas para determinar la
interrupciones
causa de la interrupción.
Manejo de Interrupciones
Programación a bajo
nivel de micro- Otras acciones que debe tener en cuenta el
controladores
programador al crear sus programas, son las siguientes:
Estructura y PINES de los
Micro-controladores
• Dependiendo de la causa (PIN RB0, o RB4-RB7 o
TIMER0), la rutina de interrupción se debe bifurcar a
División de la memoria la etiqueta correspondiente.
Manejo de Puertos digitales • Antes de volver al programa principal, se deben
(escritura)
devolver los valores originales salvados de los
Empleo de retardos en la registros anteriores a la interrupción y además
operación
limpiar (poner a 0) las banderas que indican la fuente
Uso de Subrutinas de la misma.
Manejo de Puertos digitales • Como última instrucción de la rutina de interrupción
(lectura)
usar RETFIE, que cargar el PC con el valor de Pila y el
Manejo de Tablas de datos bit GIE se pondrá automáticamente a 1.
Manejo de Interrupciones
Diferentes tipos de
interrupciones
Manejo de Interrupciones
Programación a bajo
nivel de micro- El bit7 GIE, es el encargado de la activación global que
controladores
habilita las interrupciones al ponerse a 1 y al reconocer
Estructura y PINES de los una interrupción se pone a 0 de forma automática,
Micro-controladores
evitando se produzca otra interrupción mientras se
División de la memoria atienda la actual.
Manejo de Puertos digitales
(escritura)
El bit GIE se pone de nuevo a 1 al retornar de la atención
Empleo de retardos en la a la interrupción al encontrar una instrucción RETFIE.
operación
Para el resto de los bits (banderas o flags) no está
Uso de Subrutinas previsto ningún tratamiento de puesta a cero, por lo que
Manejo de Puertos digitales es el propio programa de atención a la interrupción, el
(lectura) que le corresponde tratarla y las banderas (flags) que
Manejo de Tablas de datos indican la interrupción, debe ponerlas a 0 (cero).
Manejo de Interrupciones
Diferentes tipos de
interrupciones
Manejo de Interrupciones
Programación a bajo
nivel de micro- Si bien cada bandera cambia o se pone a 1 al producirse
controladores
una interrupción, es tarea del propio programador,
Estructura y PINES de los borrarla o ponerla a cero nuevamente, ya que si no lo
Micro-controladores
hace, el micro siempre permanecerá interrumpido o lo
División de la memoria que es lo mismo, creerá que la interrupción se está
Manejo de Puertos digitales
produciendo continuamente.
(escritura)
Empleo de retardos en la
operación
Uso de Subrutinas
Manejo de Interrupciones
Diferentes tipos de
interrupciones
Diferentes tipos de Interrupciones
Programación a bajo
nivel de micro- Interrupciones por el puerto B
controladores
Interrupciones por el puerto RB0
Estructura y PINES de los
Micro-controladores • Requiere habilitar el bit 7 de INTCON denominado GIE.
División de la memoria
• Requiere habilitar el bit 4 de INTCON denominado INTE.
• Requiere determinar con el bit 6 del registro OPTION, si
Manejo de Puertos digitales
(escritura) la interrupción es de flanco de bajada o subida.
• Requiere el adecuado manejo de la bandera, bit 1 de
Empleo de retardos en la
operación INTCON, denominado INTF, ponerla a 0 en el código de
interrupción.
Uso de Subrutinas
Interrupciones por los puertos RB4-RB7
Manejo de Puertos digitales
(lectura) • Requiere habilitar el bit 7 de INTCON denominado GIE.
Manejo de Tablas de datos
• Requiere habilitar el bit 3 de INTCON denominado RBIE.
• Requiere el adecuado manejo de la bandera, bit 1 de
Manejo de Interrupciones
INTCON, denominada RBIF, ponerla a 0 en el código de
Diferentes tipos de interrupción.
interrupciones
Diferentes tipos de Interrupciones
Programación a bajo
nivel de micro- Interrupciones por el puerto B
controladores
Registros importantes para el manejo de
Estructura y PINES de los
Micro-controladores interrupciones, adicionales al INTCON.
División de la memoria Registro STATUS y Registro W, requieren ser
almacenado su valor al inicio del código de
Manejo de Puertos digitales
(escritura) interrupción (para evitar que se pierda algún conteo
Empleo de retardos en la
o valor importante del programa principal).
operación
Uso de Subrutinas
Manejo de Interrupciones
Diferentes tipos de
interrupciones
Diferentes tipos de Interrupciones
Programación a bajo
nivel de micro- Interrupciones por el puerto B
controladores
Registros importantes para el manejo de
Estructura y PINES de los
Micro-controladores interrupciones, adicionales al INTCON.
División de la memoria Registro OPTION u OPTION_REG, se requiere (bit 6)
en el tipo de interrupciones por RB0, para
Manejo de Puertos digitales
(escritura) determinar el flanco (bajada o subida).
Empleo de retardos en la
operación
Uso de Subrutinas
Manejo de Interrupciones
Diferentes tipos de
interrupciones
Diferentes tipos de Interrupciones
Programación a bajo
nivel de micro- Interrupciones por el puerto B
controladores
Estructura y PINES de los
Micro-controladores Ejercicios
División de la memoria Revisar ejercicio 1
Manejo de Puertos digitales Presentar ejercicio 2
(escritura)
Realizar ejercicio 3.
Empleo de retardos en la
operación
Uso de Subrutinas
Manejo de Interrupciones
Diferentes tipos de
interrupciones