Autor Tema: Pines entrada y salida  (Leído 6186 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado antoniojdobarro

  • PIC12
  • **
  • Mensajes: 84
Pines entrada y salida
« en: 09 de Marzo de 2011, 05:38:16 »
Es necesario indicarle los pines de entrada y salida, si no lo hago funciona bien.

O acaso es necesario para que le asigne a los de entrada el estado 1, y a los de salida el estado 0?

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Pines entrada y salida
« Respuesta #1 en: 09 de Marzo de 2011, 05:59:28 »
Citar
O acaso es necesario para que le asigne a los de entrada el estado 1, y a los de salida el estado 0?


Asi exactamente, es necesario e imprescindible.

Desconectado antoniojdobarro

  • PIC12
  • **
  • Mensajes: 84
Re: Pines entrada y salida
« Respuesta #2 en: 09 de Marzo de 2011, 07:52:17 »
Perfecto, muchas gracias.

Desconectado antoniojdobarro

  • PIC12
  • **
  • Mensajes: 84
Re: Pines entrada y salida
« Respuesta #3 en: 09 de Marzo de 2011, 08:24:12 »
Bien, utilizo el pcw para programar el pic, y si no le indico ninguna configuración de entrada y salida funciona bien.

Como configuro las entradas como 0 y salida como uno, suponiendo por ejemplo A0 entrada y B0 salida. Con el comando trisa? o eso solamente es en ensamblador.

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: Pines entrada y salida
« Respuesta #4 en: 09 de Marzo de 2011, 09:25:08 »
Bien, utilizo el pcw para programar el pic, y si no le indico ninguna configuración de entrada y salida funciona bien.

Como configuro las entradas como 0 y salida como uno, suponiendo por ejemplo A0 entrada y B0 salida. Con el comando trisa? o eso solamente es en ensamblador.

Hola, como bien te indicó tapi8, esto siempre es necesario.  Pero como estás trabajando con CCS, tienes la directiva #use standard_io activada por defecto.  En pocas palabras, esta directiva tiene la tarea de hacer que un pin sea de entrada o de salida según como se use.  La desventaja es que esta directiva utiliza más RAM.
Si utilizas por ejemplo  la directiva #use_fast_io, utilizas menos RAM, pero aquí si debes utilizar la instrucción set_tris_x() para asignar la dirección de los pines del puerto.

Por ejemplo:
Citar
set_tris_b(0x0f);   // B7, B6, B5, B4 son salidas y B3, B2, B1, B0 son entradas

Saludos!

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Pines entrada y salida
« Respuesta #5 en: 09 de Marzo de 2011, 09:40:15 »
Bien, utilizo el pcw para programar el pic, y si no le indico ninguna configuración de entrada y salida funciona bien.

Como configuro las entradas como 0 y salida como uno, suponiendo por ejemplo A0 entrada y B0 salida. Con el comando trisa? o eso solamente es en ensamblador.

  Para que sean entradas los bits correspondientes del registro tris tienen que estar en 1 y para que sean salidas tienen que estar en 0.

  En CCS , como ya indicó bmb, tienes la función "set_tris_x" (siendo x el puerto que quieras configurar; a, b, c, d...)

  En el caso de tu ejemplo para configurar sólo el pin A0 como entrada y que el resto del puerto A quede como salida sería

Código: C
  1. set_tris_a(0b0000001)

   En el caso de B0 como salida y suponiendo el resto del puerto B como entrada, sería....

Código: C
  1. set_tris_b(0b11111110)
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado antoniojdobarro

  • PIC12
  • **
  • Mensajes: 84
Re: Pines entrada y salida
« Respuesta #6 en: 09 de Marzo de 2011, 12:08:00 »
Simplemente perfecto, muchas gracias.

Desconectado dr cerebro

  • PIC10
  • *
  • Mensajes: 42
    • Solo para la Gloria de Dios
Re: Pines entrada y salida
« Respuesta #7 en: 12 de Octubre de 2011, 01:50:02 »
Hola.

He jugado con el ANSEL, ADCON0.7 y CMCON0 = 7 y no he logrado hacer un simple programa que dependiendo del estado de un swich,  cambiar el estado de un led.

El pic es un 12f615. Estoy programando en Microcode.

Este es el programa:

Código: [Seleccionar]
define OSC 8

input gpio.4
ANSEL = 0 ' 12F615 Set all pins to digital
ADCON0.7 = 1
SYMBOL Led = gpio.5
CMCON0 = 7 'Comparators off

inicio:     
    if 1 = gpio.4 then
        high led
    endif
   
    if 0 = gpio.4 then
        low led
    endif   
    goto inicio
end

Saludos.
Inicio:
    Lcdcmdout LcdLine1Clear
    WaitMs 1000
    Lcdout "Hogar, dulce hogar."
    WaitMs 1000
goto inicio

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Pines entrada y salida
« Respuesta #8 en: 12 de Octubre de 2011, 12:51:06 »
el ansel y adcon es para poner los pines a digital/analogicos

pero despues de esto debes poner los pines a entrada/salida con el tris

Desconectado dr cerebro

  • PIC10
  • *
  • Mensajes: 42
    • Solo para la Gloria de Dios
Re: Pines entrada y salida
« Respuesta #9 en: 13 de Octubre de 2011, 00:43:48 »
el ansel y adcon es para poner los pines a digital/analogicos

pero despues de esto debes poner los pines a entrada/salida con el tris

Voy a probarlo.

Saludes
Inicio:
    Lcdcmdout LcdLine1Clear
    WaitMs 1000
    Lcdout "Hogar, dulce hogar."
    WaitMs 1000
goto inicio


 

anything