interrupciones por nivel

Hola bueno ando estudiando el 8051 en la parte de interrupciones externas por nivel.
Ya que como saben esta bandera no se apaga automaticamente como cuando es por flanco, esta hay que apagarla por software de tal forma que evitemos que se siga atendiendo un sin fin de veces.
Si alguein sabe como apagarla definitivamente a nivel de software se lo agradeceria ya que la solución que tengo hasta el momento es apagarla con CLR IE0, pero eso solo la apagaria una vez y volveria a interrumpir cuando el periferico me mande un 0.

si tienen la solución en codigo se los agradeceria busco y busco pero no lo encuentro. :confused:
 
Para eso estan las intrrupciones por flanco, para que sólo sean atendidas una sola vez.
Si programas interrupciones por nivel solo te queda inhabilitar el permiso global de interrupciones (CLR EA)
 
Hola gracias por ayudar, pero esa solución aunque valida no sería del todo viable, a lo mejor no me di a enteder bien, ya que si hiciera CLR EA ninguna interrupcion entraria, y en todo caso que solo deshabilite la externa, no sería valido ya que lo que yo quiero esque la interrupcion entre cada vez que sea el caso adecuado, ya que como sabemos cuando es por nivel puede entrar aun cuando no debia entrar. Para evitar esto debemos apagarla, pero no deshabilitandola permanentemente
 
ya que lo que yo quiero esque la interrupcion entre cada vez que sea el caso adecuado, ya que como sabemos cuando es por nivel puede entrar aun cuando no debia entrar. Para evitar esto debemos apagarla, pero no deshabilitandola permanentemente

La interrupcion no la puedas "apagar" si es por nivel;puedes atenderla o no atenderla.
Si no quieres atenderla durante una parte del programa la inhabilitas y cuando ejecutes ese programa la inhabilitas.
.
MOV A,@R1
DEC a
.
.
CLR EX0 ;A partir de aqui se inhabilita la interrupcion externa 0
. ;Desde aqui...
.
.
.
.
. ;...hasta aqui no se atiende la interrupción
SETB EX0; Vuelvo a habilitar la interrupción
.
.

Si no lo que debes hacer es que la interrupción sea activa por flanco y cada vez que "sea el caso adecuado" se atendera la interrupción una sola vez.¿Cual es el problema para que no pueda ser activa por flanco?.

Espero que esta sea la solución.
 
Atrás
Arriba