Las interrupciones en los micros, pueden ayudarte a hacer temporizaciones muy precisas, responder a comunicaciones, atender una conversion A/D, manejar un PWM, etcetera, etcetera.
casi todo lo que nombre tiene que ver con tiempos precisos...
Para hacer que un led se apague o prenda desde dentro de una interrupcion (salvo que sea un led laser), no conviene usarlas, ya que un simple delay se puede ocupar del tema.
Pero lo que si es importante de la interrupcion, es poder hacer tareas temporizadas, a la vez que tu programa corre otras secuencias de intrucciones.
Yo uso como prueba de que una instruccion funciona, un simple toggle de un led.
Una vez que entra, si estaba prendido lo apaga, a la siguiente lo prende, y asi infinitamente.
Lo ideal dentro de la interrupcion es marcar banderas y despues en el programa principal, ejecutar algo dependiendo de esas banderas y luego desmarcarlas.
Una aplicacion tipica es lectura o barrido del teclado, cada un tiempo preciso. Apenas el programa principal detecta que hay pedido de scan, ejecuta una tarea que revisa el teclado, de esa forma el programa principal se desocupa y puede correr libremente, de otra forma habria consumo de tiempo hasta realizar el barrido, haciendo mal uso de los recursos o peor aun leyendo ese teclado en cada scan del programa.
Como se hace esto, es cuestion de cada compilador, asi que te recomiendo leer la ayuda o manual del tuyo, a ver que te indica o que ejemplo da sobre el uso de interrupciones...
