Autor Tema: pulsadores - interrupcion - pic16F877A  (Leído 5251 veces)

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

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
pulsadores - interrupcion - pic16F877A
« en: 04 de Agosto de 2008, 15:10:25 »
holla amigos necesito
saber como puedo hacer para poner 4 pulsadores
usando la interrunción


incremetar - decrementar - desplazamiento derecha - izquierda

cuando pulso un boton se detecte la pulsación

un saludo
« Última modificación: 31 de Agosto de 2009, 12:51:53 por pajaro »

Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: pulsadores - interrupcion - pic16F877A
« Respuesta #1 en: 04 de Agosto de 2008, 15:37:40 »
Puedes utilizar las interrupciones por cambio de estado si no me falla la memoria rb0 a rb4.
Si habilitas las resistencias de pull up internas cuando tu pulsador mande un 0  ira a tu rutina de interrupción donde procesaras lo que quieres que aga.
Lo demás en tan avio que una leída al manual de tu compilador te lo resuelve
Suerte  :g)

El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: pulsadores - interrupcion - pic16F877A
« Respuesta #2 en: 04 de Agosto de 2008, 16:04:54 »
querida sandra, la memoria te fallo :mrgreen:

la interrupción por cambio de estado es en el nibble alto del puerto b, osea en RB4-RB7
.

Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: pulsadores - interrupcion - pic16F877A
« Respuesta #3 en: 04 de Agosto de 2008, 16:54:45 »
Haa se agrádese la corrección :P
El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: pulsadores - interrupcion - pic16F877A
« Respuesta #4 en: 04 de Agosto de 2008, 16:57:46 »
hola amigos
cuantas interrupciones puedo enviar a la vez o como puedo dar prioridad entre ellas?
pic16F877A

un saludo.

Desconectado RALF2

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2062
Re: pulsadores - interrupcion - pic16F877A
« Respuesta #5 en: 04 de Agosto de 2008, 17:12:32 »
Que tal amigos!
Pajaro, existen multiples interrupciones que posee el pic, pero estas van a depender precisamente del modelo del pic que elijas.
Por ejemplo las hay por el porb.0, portb4...portb7, tmr0, tmr1, sspi, adc....
Las prioridades en las interrupciones solo estan disponibles segun entiendo en la serie18 (pic18FXXXX) entre otros  :mrgreen:

Para saber cual interrupcion fue activada debes chequear los flag de las interrupciones que hallas habilitado  :mrgreen:

Saludos

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: pulsadores - interrupcion - pic16F877A
« Respuesta #6 en: 04 de Agosto de 2008, 19:03:42 »
Pajaro, no hace falta las prioridades.
Si estás trabajando con varios pulsadores, pues la opción más adecuada sería la que propone sandrita, son cuatro pulsadores conectados a los pines RB4:RB7 del micro. Activas la interrupción por cambio en PORTB y cada vez que se produce la interrupción deberás leer el puerto y ver cuál fue el botón que se presionó. Como el usuario no puede presionar el botón tan rápido, a lo mínimo tendrás unos 300ms entre una pulsación y otra... tiempo de sobra...
Lo que sí sería importante es que menciones el compilador con el que estás trabajando. No todos los compiladores de Basic manejan bien las interrupciones. Por ejemplo PBP tiene su "punto débil" con las interrupciones. Protón y MikroBasic creo que las tratan mejor.
Ok saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web