Microcontroladores - Interrupciones 8051

 
Vista:

Interrupciones 8051

Publicado por Daniel (1 intervención) el 16/10/2006 10:23:30
Hola a todos;

Cuando provoco una interrupción externa en el micro 8051el programa ejecuta la RSI de la forma deseado, pero cuando ésta acaba y hago el reti, el micro se queda 30s aproximadamente sin hacer nada. Después de estos 30 segundo, el programa sigue ejecutándose desde el lugar donde se quedó antes de atender la petición de interrupción.
Seguramente, el puntero al ejecutar la RSI se pierde y por eso al retornar de la interrupción tarda en encontrar la dirección a la que ha de dirigirse.

Teneis alguna idea de como solucionar este problema. Quizá con un POP y un PUSH?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Interrupciones 8051

Publicado por Juan Rubio (1 intervención) el 29/11/2006 20:11:39
tienes que realizar push y pop a los estados fundamentales de tu programa, las variables que estes utilizando y sobre todo el dptr, a, b, los registros R y PSW.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Interrupciones 8051

Publicado por angel verdu (1 intervención) el 17/08/2007 20:05:13
mira guarda en la pila el psw con la instruccion push esto seria

push psw

pero debes tomar en cuenta que entes de retirarte de la interrupcion debes recuperarlo es decir

push psw ; al iniciar la rutina de interrupcion

; tu codigo

pop psw

asi eliminas ese problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar