TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: quirogaareal en 14 de Julio de 2006, 08:45:47

Título: USO DE INTERRUPCIONES
Publicado por: quirogaareal en 14 de Julio de 2006, 08:45:47
Hola Gente 8):

Quiesira saber como hago el uso de mas de una interrupcion si que se molesten y funcionen correctamente.
Ya hice un medidor de presion digital . pero estaba programado con una sola interrupcion tmr0. Como haria si para otro proyecto necesitar una interrupcion tmro , tmr1 , rs232 y una interrupcion por un cambio de estado en un pin de el puerto c, suponiendo que este usando un 16f876. :-/

Título: Re: USO DE INTERRUPCIONES
Publicado por: micro_pepe en 14 de Julio de 2006, 09:02:48
Hola, esta seria la forma de implementar la interrupcion del timer0 y de la externa.
Si quisieras poner mas solo tienes que poner: #INT_  seguido del nombre de la interrupcion, que te viene en el CCS en devices, y abriendo el del pic que uses.

#INT_TIMER0
void tempo()
{


}

/*************************************/
#INT_EXT
void CrucePor0()
{

}
/**************************************/

Despues en el main tendrias que poner esto:

enable_interrupts (INT_TIMER0); //Activa interrupción Timer0.
enable_interrupts (INT_EXT);
enable_interrupts (GLOBAL);

Espero te serte de ayuda.
Título: Re: USO DE INTERRUPCIONES
Publicado por: pantera en 15 de Julio de 2006, 19:08:01
Para generar interrupciones rapidas puedes tratar en PCW lo que es el Wizard ahi puedes generar una base de para tu codigo .

Solo es cuestion de que selecciones el dispositivo asi como los fuses ya moviendote en las etiquetas de abajo puedes generar codigo de forma rapida.


Pantera

:-)
Título: Re: USO DE INTERRUPCIONES
Publicado por: quirogaareal en 16 de Julio de 2006, 07:47:57
Hola Muchachos :

Agradezco sus respuestas. Si he usado el wizard de ccs. En realidad ecesito saber por ejemplo como hago que si esta corriendo un programa (cualquiera sea ) y yo presion un puldador en el puerto C (   pic16f876 ) me provoque esto una interrupcion y al terminar las tareas salga de dicha interrupcion. luego si yo le envio algo desde la pc ..a travez de rs232 provoque esto una interrupcion y al terminar las tareas salga de dicha interrupcion. y finalmente que pueda usar la del timer0 /  1 , para algun otro fin.

Gracias micro_pepe y pantera por su ayuda