Programación C de microcontroladores (C515C)
La interrupción externa3 puede activarse mediante un flanco descendente o ascendente en
el pin de puerto P1.0. El flanco que activa la rutina de servicio de interrupción puede
configurarse mediante el bit de control I3FR en el registro de funciones especiales T2CON.
Partiendo de la inicialización del Puerto1 tras un RESET de MC con 0xff y el estado del
interruptor /S1, sin tarjeta chip insertada en la unidad de Tarjeta Inteligente I2C, la
interrupción externa3 se debe configurar en estado inicial para que sea activada por un
flanco descendente (I3FR=0). Al insertar la tarjeta chip se genera este flanco. Al retirar la
tarjeta de la unidad de Tarjeta Inteligente I2C se abre el interruptor /S1 lo que da lugar a la
generación de un flanco ascendente. Por lo tanto, antes de retirar la tarjeta chip, la
interrupción externa3 debe ser ajustada para que sea activada por este flanco (I3FR=1).
El siguiente gráfico muestra la secuencia de la rutina de servicio de interrupción:
void ex3_isr (void)
No
Fin de función
Timer 2 ISR
La rutina de servicio de interrupción para el Timer2 en modo de desbordamiento con recarga
automática suministra una ventana de tiempo de 5 segundos. Una vez transcurrido el tiempo
hay que poner un bit de estado. Para la declaración de una variable en tamaño de bit se
puede utilizar la siguiente definición en el SDCC:
bit T2ready=0;
El Timer2 se inicia en la rutina de servicio de interrupción de la interrupción externa3 cuando
se pone el bit T2I0=1 y se detiene con el reseteo de T2I0=0. Este bit está localizado en el
registro de funciones especiales T2CON.
CMC 5-5 Bloque de ensayos 5
CMC 5
Tiemp anul. rebote interr.
¿Tarjeta chip?
Sí
Modo temporiz. T2 Parada
Interrupción ext.3
Flanco descendente
Visualizar texto de inicio
Modo temporiz. T2 Inicio
Interrup. ext.3 Flanco ascendente
Borrar LCD
Visualiz. texto
109