16f84

Hola loco
Mira .. Mi pregunta va orientada al manejo de interrupciones con el pic 16f84, específicamente cuando cambia el estado del RB4-7.
¿Por qué llama la interrupción pero no me funciona bien.. Se queda dando vueltas es medio aleatorio... Y como detecto que pata es la que genera la interrupción?
Gracias

1 respuesta

Respuesta
1
Siento mucho haber tardado tanto, pero últimamente he tenido que hacer un cursillo acelerado de programación de PIC's, pero nunca tenía tiempo.
Para habilitar la interrupción por cambio de estado de RB<4:7> tienes que poner a 1 el bit 3 del INTCON. El flag es el bit 0 del mismo registro.
Para saber que bit ha cambiado, debes amacenar el estado del puerto y, cuando detectes el cambio, hacer una XOR entre el estado anterior y el actual del puerto. El bit que te quede a 1 será el que ha cambiado.
Para que el programa vuelva a su curso normal después de la interrupción debes poner RETFIE

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas