Autor Tema: Interrupciones con 16F877  (Leído 2159 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado alberto_bc

  • PIC10
  • *
  • Mensajes: 2
Interrupciones con 16F877
« en: 09 de Mayo de 2003, 07:59:00 »
Hola a todos!
Acabo de ponerme a aprender a programar pics hace unos dias, asi que pido disculpas si cometo error graves o ingenuos.
Estoy intentando programar un 16f877 para una aplicacion de adquisicion de datos, el programa no tiene ninguna complicacion. El programa simplemente hace lo siguiente esta a la espera de una interrupción externa y en el momento que esta ocurre hace algo activa una linea de un puerto. El problema es que esta parte es critica, pues debe reaccionar lo mas rapido posible.
He estado lellendo documentacion y en principio se tardan entre 3 y 3.75 ciclos, que con un reloj de 20 MHz corresponde (en el caso de 3) a: 3*4*50ns lo que da 600 ns. A esto tengo que sumarle mas 200 ns de activar la linea en el puerto. Por tanto consigo reaccionar a la interrupcion entre 800 y 1000ns.
Y aqui esta mi pregunta. Es posible hacer esto mas rapido?
Mi programa principal no debe hacer nada solo esta a la espera de la interrupcion, y por tanto todo lo que se hace cuando ocurre la interrupcion podria estar ya hecho e ir directamente a activa la linea en mi puerto. Es esto Posible?

Desconectado felipito1

  • PIC16
  • ***
  • Mensajes: 118
RE: Interrupciones con 16F877
« Respuesta #1 en: 09 de Mayo de 2003, 13:22:00 »
Una soluciòn puede ser habilitando la interrupciòn que desee y que el pic tenga a disposiciòn ... en el 16f877 son varias, esta interrupciòn lleva la secuencia del programa a la posiciòn 0RG 4 y de allì en adelante selecciona de donde proviene la interrupciòn y realiza la rutina de interrupciòn correspondiente hasta encontrar el retorno de interrupciòn (me parece que es retfie),
Deberà tener en cuenta la posiciòn de memoria del programa desde donde se podrìa realizar la interrupciòn porque tendrìa problemas al regresar y encontrarse en otro banco de trabajo (RP0 - RP1) ò pclatch ò status ò fsr ò etc y el programa se le chifla.......