Autor Tema: Duda sobre utilizar RB0 como INT_EXT y función Output_b  (Leído 2525 veces)

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

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Duda sobre utilizar RB0 como INT_EXT y función Output_b
« en: 26 de Octubre de 2006, 06:43:39 »
Hola,

Quiero utilizar RB0 como interrupción externa por flanco para hacer una prueba y que me cuente el número de veces que pulso un botón en 10 segundos, por ejemplo. Y a la vez quiero mostrar el resultado en un 7 segmentos.

Mirando los ejemplos de los 7 segmentos veo que siempre se usan los pines desde RB0 a RB6 para cada barra/led del display con la función output_b(). Pero en mi caso RB0 ya lo he usado.

Puedo utilizar los pines desde RB1 a RB7 y dejar RB0 para la interrupción configurando el TRISB con todo salidas excepto RB0??

Para sacar el valor al 7 segmentos puedo usar output_b()?? Lo que he pensado es usarla teniendo en cuenta que el bit 0 siempre sea 0 y los valores para cada número estén corridos un bit a la izquierda o eso ya lo hace el compilador al ver que RB0 lo tengo como salida.

Gracias!!

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Duda sobre utilizar RB0 como INT_EXT y función Output_b
« Respuesta #1 en: 26 de Octubre de 2006, 09:17:19 »
Hola,

Quiero utilizar RB0 como interrupción externa por flanco para hacer una prueba y que me cuente el número de veces que pulso un botón en 10 segundos, por ejemplo. Y a la vez quiero mostrar el resultado en un 7 segmentos.

Mirando los ejemplos de los 7 segmentos veo que siempre se usan los pines desde RB0 a RB6 para cada barra/led del display con la función output_b(). Pero en mi caso RB0 ya lo he usado.

Puedo utilizar los pines desde RB1 a RB7 y dejar RB0 para la interrupción configurando el TRISB con todo salidas excepto RB0??

Para sacar el valor al 7 segmentos puedo usar output_b()?? Lo que he pensado es usarla teniendo en cuenta que el bit 0 siempre sea 0 y los valores para cada número estén corridos un bit a la izquierda o eso ya lo hace el compilador al ver que RB0 lo tengo como salida.

Gracias!!

Si, tranquilamente puedes usar un puerto con algunos pines como Entrada y otros como Salida.

El corrimiento lo debes hacer tú, el compilador no adivina esas cosas.

Si usas el C, un simple variable << 1 , funcionará.  Algunso compiladores también tienen rutinas de rotar izquierda.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Re: Duda sobre utilizar RB0 como INT_EXT y función Output_b
« Respuesta #2 en: 26 de Octubre de 2006, 19:01:33 »
Gracias Maunix.

Simplemente era que si por ejemplo quiero hacer un 1 en el 7 segmentos y los dos leds que lo forman los tengo conetcados a RB1 y RB2, quería saber si hacer output_b(0b00000110) era válido, siendo RB0 de entrada.

Gracias!!