Autor Tema: como cambiar un puerto ejemplo rbo pasar a rb3  (Leído 2384 veces)

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

Desconectado underwol2

  • PIC12
  • **
  • Mensajes: 53
como cambiar un puerto ejemplo rbo pasar a rb3
« en: 20 de Enero de 2010, 09:59:09 »
hola  soi novato enel tema de los pic eleido y me e con fundido en unas cosas ejemplo
compilo un codigo y lo simulo y si quiero hacer unos cambios por ejemplo que el led tiene el puerto rb0 poderlo pasar al puerto rb3
en al gunos ejemplos los pude cambiar pero en otros no en cuentro la forma
enel ejemplo que adjunto es para enceder un led o apagarlo cuando se precione un pulsador  lo que quiero es poderlo cambiar de puerto el pulsador esta en rbo y el led esta en rb1 poderlos cambiar a otros puertos como rb2 o rb3  en fin cambiar de puerto  

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection

#use delay(clock=4000000)

#byte puerto_b = 08

void main()
{

set_tris_b( 0x03 );           // RB0 como entrada y lo demás del puerto B como salida
puerto_b = 0;                 // Limpia puerto B

DO{

   IF (INPUT(PIN_B3)){       // Si se presiona RB0
      output_toggle(PIN_B1);  // cambia el estado del pin RB1
      WHILE (INPUT(PIN_B0));
      }
   }
WHILE(TRUE);
}
« Última modificación: 20 de Enero de 2010, 10:37:08 por underwol2 »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: como cambiar un puerto ejemplo rbo pasar a rb3
« Respuesta #1 en: 20 de Enero de 2010, 12:13:25 »
 :shock: Nuevo en los PICs y nuevo en el castellano!  :?

PIN_RB0 indica que se actúa sobre el pin RB0, para pasar a RB3 solo coloca PIN_B3  :undecided:


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado underwol2

  • PIC12
  • **
  • Mensajes: 53
Re: como cambiar un puerto ejemplo rbo pasar a rb3
« Respuesta #2 en: 20 de Enero de 2010, 12:28:59 »
grasias porla respuesta    :oops:
en cuanto al castellano no discutire  el tema nosoy nada bueno escribiendo  :oops:

Desconectado Chenao

  • PIC18
  • ****
  • Mensajes: 414
Re: como cambiar un puerto ejemplo rbo pasar a rb3
« Respuesta #3 en: 20 de Enero de 2010, 12:46:51 »
Saludos.

Citar
grasias porla respuesta   
en cuanto al castellano no discutire  el tema nosoy nada bueno escribiendo 

Seria bueno que mejoraras la escritura para no enrredar el hilo ;-).

Con respecto a tú pregunta no veo por ninguna parte el micro que estas utilizando. Y con respecto para cambiar la entrada y la salida primero tienes que configurar el puerto (cuales salidas y cuales entradas) y después hacer lo que te dice el compañero Suky.
Un saludo desde Pereira - Colombia

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: como cambiar un puerto ejemplo rbo pasar a rb3
« Respuesta #4 en: 20 de Enero de 2010, 12:55:09 »
Con respecto a tú pregunta no veo por ninguna parte el micro que estas utilizando. Y con respecto para cambiar la entrada y la salida primero tienes que configurar el puerto (cuales salidas y cuales entradas) y después hacer lo que te dice el compañero Suky.


En CCS si se trabaja los puertos en modo estándar la configuración tris no es necesaria.

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Chenao

  • PIC18
  • ****
  • Mensajes: 414
Re: como cambiar un puerto ejemplo rbo pasar a rb3
« Respuesta #5 en: 20 de Enero de 2010, 13:13:12 »
Saludos

Citar
En CCS si se trabaja los puertos en modo estándar la configuración tris no es necesaria.

Una forma muy rápida si necesidad de hacer la conversión. La directiva es la siguiente:

#use standard_io(puerto), existe otra pero en alguno ejemplos me ha puesto algunos problemas y es # use fast_io(puerto)

Para mayor información consulta la ayuda del compilador.
Un saludo desde Pereira - Colombia

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: como cambiar un puerto ejemplo rbo pasar a rb3
« Respuesta #6 en: 20 de Enero de 2010, 15:42:52 »
#use standard_io(puerto)

Esa es por default, así que no es necesario definirlo, pero tienen que saberlo   :lol:

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado underwol2

  • PIC12
  • **
  • Mensajes: 53
Re: como cambiar un puerto ejemplo rbo pasar a rb3
« Respuesta #7 en: 20 de Enero de 2010, 18:16:12 »
otra duda sobre   ( 0x03 ) como se uitlizan si creo un programa como saber que hexadecimal utilizar 

set_tris_b( 0x03 );           // RB0 como entrada y lo demás del puerto B como salida
« Última modificación: 20 de Enero de 2010, 18:39:20 por underwol2 »

Desconectado Chenao

  • PIC18
  • ****
  • Mensajes: 414
Re: como cambiar un puerto ejemplo rbo pasar a rb3
« Respuesta #8 en: 20 de Enero de 2010, 18:28:34 »
Saludos.

Citar
otra duda sobre   ( 0x03 )

set_tris_b( 0x03 );           // RB0 como entrada y lo demás del puerto B como salida

set_tris_b(0x03) como lo dices configura cuales son entradas y cuales son salidas dependiendo del argumento en este caso es 0x03 que está en hex esto quire decir, lo siguiente en binario es: 0000 0011, entonces "1" lógico es entrada digital y "0" lógico es salida digital entonces los pines RB0 y RB1 son entradas digitales y las demás son salidas digitales.

Te recomiendo que examines el datasheet del microcontrolador que estas utlizando ;-).
Un saludo desde Pereira - Colombia

Desconectado fidodido18

  • PIC18
  • ****
  • Mensajes: 312
Re: como cambiar un puerto ejemplo rbo pasar a rb3
« Respuesta #9 en: 21 de Enero de 2010, 12:41:28 »
ademas de leer el datasheet te recomiendo que busques manuales de como programar con PIC, para principiantes uno que se llama "CCS y proteus" o algo así, búscalo y lo encontraras.