Autor Tema: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA  (Leído 4833 veces)

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

Desconectado NORTEÑO

  • PIC10
  • *
  • Mensajes: 32
CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« en: 14 de Junio de 2010, 18:22:43 »
HOLA:
Inicio con una preguntita.
Alguien sabe si es posible cambiar durante el programa los registros TRISA, TRISB para convertirlos en entradas o salidas a voluntad en un momento dado.

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #1 en: 14 de Junio de 2010, 18:30:56 »
pues si, puedes cambiar el registro que quieras cuando quieras, hablando siempre de los que sean de R/W (Read/Write), es decir sus bits, eso lo encuentras en la datasheet.

Lo que si debes tener en cuenta la parte fisica, de no forzar los valores, me explico, si tienes por ejemplo en una sección del codigo RB2 como entrada y quieres ponerla como salida, ten en cuenta que si de entrada esta recibiendo un nivel alto, cuando la pongas como salida no sea un nivel diferente.

De todas formas imagino que estas pensando usar un integrado adicional que te sirva para aislar las señales, sino esto no tendria mucho sentido.

Si nos explicas un poco mas de que se trata lo que quieres hacer, quizas existe otra solución mas simple. 8)

Saludos,
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado NORTEÑO

  • PIC10
  • *
  • Mensajes: 32
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #2 en: 14 de Junio de 2010, 18:53:22 »
hola:
1º Agradezco mucho la respuesta,
2º La idea es conseguir un hipotetico 3º estado. (no conexion) de entrada.
3º Conectando un condensador de separador. (no integrado) o SI ?
4º Si fuera posible trabajar con el y conocerlo mas a fondo.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #3 en: 14 de Junio de 2010, 21:09:34 »
Podes lograr un cuasi tri-state configurando dicho pin como entrada. No hay grandes problemas con ello siempre y cuando los niveles de entrada que reciba el pin esten siempre dentro de los parametros perimitidos.

Hay mucha gente que hace esto para simular un pin como en modo open collector por ejemplo.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado nico

  • PIC16
  • ***
  • Mensajes: 180
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #4 en: 14 de Junio de 2010, 21:32:10 »
En algunos micros de la linea 16f, por ejemplo el 16f84, tienen el pin Ra4 que es open colector.

Por alli puede servirte para lo que te dice Brunof

Saludos.

Desconectado NORTEÑO

  • PIC10
  • *
  • Mensajes: 32
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #5 en: 15 de Junio de 2010, 13:09:32 »
HOLA:
TODO MUY BIEN.
A veces creo que cuando escribo TELEGRAFIO. Porque soy Corto de Escritura.

Los niveles logicos de los PINES (LEASE PINS) Bienen en las hojas caracteristicas de los Pics?
asi como su Histeresis. (cuando es un nivel ALTO--------MAS DE 2 voltios)
                                   (cuando es un nivel BAJO-------MENOS DE 2 voltios)
 me pregunto cuando Hace la transicion? en Voltaje.

muchas Gracias.
« Última modificación: 15 de Junio de 2010, 13:12:19 por NORTEÑO »

Desconectado nico

  • PIC16
  • ***
  • Mensajes: 180
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #6 en: 15 de Junio de 2010, 22:46:08 »
Pues si, en la hoja de datos esta este valor para cada conjunto de pines, o para el puerto completo, por ejemplo, esta el VIL o input low voltage, o el VIH, o input high voltage, para los pines ttl por un lado, y para los pines que tienen schmidt trigger por otro. Hechale una mirada a la hoja de dato a la errata del micro que estas trabajando.

Saludos.

Desconectado NORTEÑO

  • PIC10
  • *
  • Mensajes: 32
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #7 en: 16 de Junio de 2010, 11:40:33 »
Pues si, en la hoja de datos esta este valor para cada conjunto de pines, o para el puerto completo, por ejemplo, esta el VIL o input low voltage, o el VIH, o input high voltage, para los pines ttl por un lado, y para los pines que tienen schmidt trigger por otro. Hechale una mirada a la hoja de dato a la errata del micro que estas trabajando.

Saludos.

Hola:

Muy bien.
nico  no entiendo lo de hoja de dato a la errata del micro.

ejemplo: el PIC16F877
Busco pero no localizo lo dicho
tal vez necesitara un Recorte

GRACIAS.

Desconectado nico

  • PIC16
  • ***
  • Mensajes: 180
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #8 en: 16 de Junio de 2010, 19:16:16 »
Claro, en la hoja de datos esta, y en la errata puede tener alguna correccion, para el 16f877 esta el VIH y el VIL. No estoy en casa ahora, pero recuerdo que lo vi. Esta en la parte de DC Electrical Characteristics, en la parte final del datasheet(estan los graficos de tension, y ademas la tabla con los valores de VIH, VIL,VPOR, VBOR, etc.)

Si vuelvo temprano te lo paso, ahora andio liado con el trabajo.

Saludos.

Desconectado NORTEÑO

  • PIC10
  • *
  • Mensajes: 32
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #9 en: 17 de Junio de 2010, 10:36:06 »
HOLA:

Al problema de los niveles logicos de un pin (tensiones, estado ALTO,BAJO) 
pregunto: Si estamos en un valor LOGICO de 0      y aumentamos la tension poco a poco, cuando pasara al valor LOGICO 1

MICRO -------16F84A    o       16F877

y al contrario Si estamos en un valor LOGICO de 1   y disminuimos la tension poco a poco, cuando pasara al valor LOGICO 0

LLAMESE HISTERESIS DE CAMBIO DE VALORES DIGITALES.

Tiene esto relacion co los REGISTROS TRIS       BANCO 1,BANCO 0     y el REGISTRO DE ESTADO  (STATUS) ?

Se que es facil, pero llevo una empanada encima que no me deja ver la luz al PROBLEMILLA.
Necesito una esplicacion concisa.


**** CAMBIAR REGISTROS DE ENTRADA Y SALIDA A VOLUNTAD DURANTE EL PROGRAMA, REGISTROS TRIS,BANCOS 0 Y 1
REGISTRO DE ESTADO (STATUS)  y relacion de voltales al CAMBIO DE ESTADO (HISTERESIS)



UN SALUDO
GRACIAS a todo

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #10 en: 17 de Junio de 2010, 11:05:53 »
eso de los niveles es mas general, es decir, no es que para un micro en particular sea tal valor, corresponde entonces a la tecnologia de construccion, TTL, CMOS, etc. ten en cuenta que de be ser compatible con los demas dispositivos existentes.

Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #11 en: 17 de Junio de 2010, 18:44:18 »
A ver si estoy en lo correcto, por favor que alguien mas entendido me corrija de ser necesario :mrgreen:

Los PIC son de tecnologia CMOS, asi que concentremonos en esos voltages para ejemplo.
Intentaré explicar que es lo que hace un PIC en el caso de recibir un nivel de tensión en uno de sus pines, cuando esta configurado como entrada, por lo que veremos VIL, VT y VIH.

Suponemos que la tensión sube desde los 0V.
Hasta que no llegue el valor de tensión hasta VIH (3,7V) el PIC verá siempre un valor bajo, por lo que el bit de ese puerto se mantendrá en 0 lógico. Cuando supere el VIH allí cambia el estado a 1 lógico.
Como saven, el ruido es el archienemigo de la electrónica, entonces aqui es donde entra en juego el VT (Threshold Voltage o Voltage Umbral), y su función es que una ves que ha detectado un valor alto VIH, hasta que el voltage no baje de VT (2,5V) no cambie a 0 lógico. Sino el micro estaria cambiando continuamente ese bit cuando el voltage este alrededor de 3,7V.

Lo mismo para el caso del valor bajo, supongamos que el voltage viene bajando desde 5V, cuando llegue a VIL (1,3V) recien ahí cambiara al estado 0 lógico, y suscede lo mismo con el VT. Una ves que ha detecto el valor bajo, hasta que no supere el VT (2,5V) este lo mantendrá en bajo.

Bien, eso es lo que tengo entendido, quisas puede hacerse un simple circuito para comprobar estos valores, con un simple pin como entrada conectado desde un potenciometro como divisor de tensión y sensando el valor de tensión con un multimetro. Imagino que los resultados deberian ser los mismos.

Aunque recuerden que en Teoria, la teoria y la práctica es lo mismo, pero en la práctica no :D
No recuerdo a quien le debo el copyright 8)

Saludos, Willy
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #12 en: 17 de Junio de 2010, 19:03:22 »
Si te preocupa la histéresis del PIC, podés utilizar una schmitt trigger externa y listo.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado NORTEÑO

  • PIC10
  • *
  • Mensajes: 32
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #13 en: 18 de Junio de 2010, 19:52:34 »
hola:

Solo queria saber los valores VIH y VIL
para la carga y descarga de un condensador con su resistencia
llamese CIRCUITO RC

Gracias

Desconectado NORTEÑO

  • PIC10
  • *
  • Mensajes: 32
Re: CAMBIAR REGISTROS DE ENTRADA Y SALIDA DURANTE EL PROGRAMA
« Respuesta #14 en: 18 de Junio de 2010, 19:53:52 »
hola:

Solo queria saber los valores VIH y VIL
para la carga y descarga de un condensador con su resistencia
llamese CIRCUITO RC

Gracias  8)


 

anything