TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: antoniojdobarro en 09 de Marzo de 2011, 05:38:16

Título: Pines entrada y salida
Publicado por: antoniojdobarro 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?
Título: Re: Pines entrada y salida
Publicado por: tapi8 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.
Título: Re: Pines entrada y salida
Publicado por: antoniojdobarro en 09 de Marzo de 2011, 07:52:17
Perfecto, muchas gracias.
Título: Re: Pines entrada y salida
Publicado por: antoniojdobarro 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.
Título: Re: Pines entrada y salida
Publicado por: bmb 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!
Título: Re: Pines entrada y salida
Publicado por: AngelGris 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)
Título: Re: Pines entrada y salida
Publicado por: antoniojdobarro en 09 de Marzo de 2011, 12:08:00
Simplemente perfecto, muchas gracias.
Título: Re: Pines entrada y salida
Publicado por: dr cerebro 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.
Título: Re: Pines entrada y salida
Publicado por: MerLiNz 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
Título: Re: Pines entrada y salida
Publicado por: dr cerebro 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