Autor Tema: expansor I/O en i2c  (Leído 2283 veces)

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

Desconectado hobik

  • PIC10
  • *
  • Mensajes: 2
expansor I/O en i2c
« en: 29 de Diciembre de 2004, 06:41:00 »
hola amigos soy nuevo en el foro tengo un problema que me gustaria solucionar, se trata de conectar cuatro expansores I/O por el bus i2c como entradas y sacar por el pic 8 salidas el codigo BCD del 1 al 32 de las entradas. Pero no soy capaz que el pic me reconozca los dispositivos muchas gracias .

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: expansor I/O en i2c
« Respuesta #1 en: 29 de Diciembre de 2004, 08:28:00 »
Necesito datos!!!!

¿qué expansor?
¿Cómo lo has conectado?
¿código que has generado y micro usado?
........................

No tenemos una bola de cristal para ver tu circuito.

Saludos
Ricky
Madrid-España

Desconectado hobik

  • PIC10
  • *
  • Mensajes: 2
RE: expansor I/O en i2c
« Respuesta #2 en: 31 de Diciembre de 2004, 07:16:00 »
el circuito es pcf8574 y el micro 16f84 pero soy nuevo en el pic basic pro .
queria que las entradas de los pcf8574 me salgan en el micro en binario o alguna pagina con ejemplos gracias

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: expansor I/O en i2c
« Respuesta #3 en: 05 de Enero de 2005, 04:01:00 »
El comando para el control de lectura es:

"*************************************************************************
"** SUBRUTINA: leer_PCF
"** lee uno de los expansores de bus
"*************************************************************************


leer_PCF:
    HBUSIN direccion, [tempo8]
    RETURN
   
"** FIN SUBRUTINA: leer_PCF

donde dirección es una variable con un valor %01110001
donde tempo8 es una variable con el valor de cómo están los puertos



"*************************************************************************
"** SUBRUTINA: escribir_PCF
"** escribe uno de los expansores de bus
"*************************************************************************


escribir_PCF:
   
    HBUSOUT direccion, [tempo8]
     
    RETURN
   
"** FIN SUBRUTINA: escribir_PCF

donde dirección es una variable con un valor %01110000
donde tempo8 es una variable con el valor que quieres escribir en el puerto

Los bit 1,2 y 3 de la variable dirección son la dirección física del dispositivo (yo la he puesto aquí a 000, pero puedes ajustarla a otra) Esta info está en el data sheet del fabricante.

El código que te he puesto es de protón y para un micro con protocoloI2C en hardware, pero se hace lo mismo para software nada más que con el comando de software.

Saludos
Ricky