Autor Tema: Interrupción INT_RB  (Leído 1541 veces)

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

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Interrupción INT_RB
« en: 17 de Septiembre de 2013, 11:51:19 »
Hola buenos dias....

Escribo por que tengo una duda sobre esta interrupción (nunca la use), es INT_RB.

En esta interrupción se puede usar todo el puerto B para que interrumpa o solo de RB4 a RB7 ??? 


    Saludos Cordiales!!

Desconectado solapower

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 209
Re: Interrupción INT_RB
« Respuesta #1 en: 17 de Septiembre de 2013, 12:36:47 »
Normalmente así es, se refiere a RB4-7

Aunque eso deberá especificarlo el datasheet del micro.Por ejemplo el PIC16F1939 tiene configuracion individual por cada pin.

Saludos

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Interrupción INT_RB
« Respuesta #2 en: 17 de Septiembre de 2013, 13:43:05 »
Tenes razon no especifique el pic... es un 18f2550...

Tengo 7 pulsadores no da ni a palos para los 7??

Desconectado solapower

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 209
Re: Interrupción INT_RB
« Respuesta #3 en: 17 de Septiembre de 2013, 14:30:26 »
Depende de lo que quieras hacer.
Es una práctica o es algo que tienes pensado realizar?

Se podría implementar como un teclado matricial pero con menos teclas.

Saludos

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Interrupción INT_RB
« Respuesta #4 en: 17 de Septiembre de 2013, 15:18:39 »
es un proyecto para la facultad... ya lo tengo hecho.. pero para que quede mejor lo que queria hacer es poner los botones en una interupccion...

son 7 botones.. y hay uno que se llama SET y cuando mantengo apretado ese y pulso otros hace cosas distintas que esos que pulse sin apretar SET...

No se si entiendes!

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Interrupción INT_RB
« Respuesta #5 en: 17 de Septiembre de 2013, 19:10:52 »
que tal kaki!
No se si entiendi bien, pero me parece que tu lo que quieres es que cuando se pulse set y se mantenga este pulsado, al cambiar algun otro pin del puerto B, se realice alguna accion?

Saludos


Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Interrupción INT_RB
« Respuesta #6 en: 17 de Septiembre de 2013, 20:20:47 »
Lo que quiero es poner esto:
Código: [Seleccionar]
while(true){

while((input(PIN_B3)))//SET
{
while((input(PIN_B0)) & (minutosDec < MAXIMO_MINUTO))//UP Tiempo Decena +1
{
minutosDec += 1;
maxsend(5,minutosDec);
maxsend(6,minutosUni);
delay_ms(60);
}
while((input(PIN_B1)) & (minutosDec > MINIMO_MINUTO))//DOWN Tiempo Decena -1
{
minutosDec -= 1;
maxsend(5,minutosDec);
maxsend(6,minutosUni);
delay_ms(60);
}
while((input(PIN_B5)) & (minutosUni < MAXIMO_MINUTO))//UP Tiempo Unidad+1
{
minutosUni += 1;
maxsend(5,minutosDec);
maxsend(6,minutosUni);
componerMinutos();
delay_ms(60);
}
while((input(PIN_B6)) & (minutosUni > MINIMO_MINUTO))//DOWN Tiempo Unidad -1
{
minutosUni -= 1;
maxsend(5,minutosDec);
maxsend(6,minutosUni);
componerMinutos();
delay_ms(60);
}

}

if((input(PIN_B2)))//START
{
if (start == false) inicio();
while((input(PIN_B2))); //Anti Revote
}

if((input(PIN_B4)))//RESET
{
reset();
while((input(PIN_B4)));
}

if((input(PIN_B0)) & (tantosVisita < LIMITE_UP))//UP Visita
{
tantosVisita++;
mostadoDisplay(1,tantosVisita);
while((input(PIN_B0)));
}

if((input(PIN_B1)) & (tantosVisita > LIMITE_DOWN) )//DOWN Local
{
tantosVisita--;
mostadoDisplay(1,tantosVisita);
while((input(PIN_B1)));
}

if((input(PIN_B5)) & (tantosLocal < LIMITE_UP) )//UP Local
{
tantosLocal++;
mostadoDisplay(3,tantosLocal);
while((input(PIN_B5)));
}

if((input(PIN_B6)) & (tantosLocal > LIMITE_DOWN) )//DOWN Local
{
tantosLocal--;
mostadoDisplay(3,tantosLocal);
while((input(PIN_B6)));
}

   }

Dentro una interrupcion...

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Interrupción INT_RB
« Respuesta #7 en: 17 de Septiembre de 2013, 20:56:16 »
Yo utilizaria la interrupcion por RB0 para el set, solamente para el while del set y agregaria un pequeño retardo ante de entrar al while debido al rebote del contacto de RB0, el resto del codigo podria ir afuera de la interrupcion    :mrgreen:

Puedes probar eso para empesar   :mrgreen:
« Última modificación: 17 de Septiembre de 2013, 21:00:39 por RALF2 »

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Interrupción INT_RB
« Respuesta #8 en: 17 de Septiembre de 2013, 23:17:59 »
Es que no tiene sentido creo.. por q cuando apreto STRART el set ya no sirve para nada... en cambio el UPLocal/Visita  DOWNLocal/Visita si usan siempre..


 

anything