PIC: PCF8574

PCF8574 é um expansor de portas de entrada e saída de 8 bits que se comunica com o microcontrolador através da interface I2C.

Uma grande vantagem dele em relação ao 74HC595, é que suas portas também funcionam como entrada.

pcf8574_pinning

ENDEREÇAMENTO

Por comunicar-se usando a interface I2C, possui seu próprio endereço. No caso do PCF8574 seu endereço é 0x40 e no caso do PCF8574A é o 0x70. Em ambos, os bits 3, 2 e 1 do endereçamento são controlados pelos pinos A2, A1 e A0, respectivamente.

PCF8574:   | 0 | 1 | 0 | 0 | A2 | A1 | A0 | R/W |
PCF8574A:  | 0 | 1 | 1 | 1 | A2 | A1 | A0 | R/W |

O bit R/W define se estamos querendo ler ou escrever. 0 = escrita, 1 = leitura.

FUNCIONAMENTO

Sempre que enviamos um byte para o PCF8574 estaremos definindo os valores dos pinos (P0 – P7).

Sempre que lemos um byte obviamente estaremos lendo os valores dos pinos (P0 – P7).

Basicamente, devemos enviar um pulso de START e um byte de endereçamento. Se estivermos querendo escrever, devemos enviar mais um byte com os valores dos pinos. Se estivermos lendo, é só ler um byte pra obter os valores dos pinos. Por fim, enviamos um pulso de STOP.

Os pinos do PCF8574 são considerados pinos Quasi-Bidirecionais pois podem funcionar tanto como entrada quanto como saída sem a necessidade de um sinal de controle de sua direção.

GITHUB (CÓDIGO-FONTE E EXEMPLOS)

github

FUNÇÕES

char PCF8574_Get_Port(char address) – Obtém um inteiro de 8 bits correspondente ao valor da porta IO de um determinado dispositivo. address: endereço do dispositivo de 0 a 7.

void PCF8574_Set_Port(char address, char value) – Define o valor da porta IO de um determinado dispositivo. address: endereço do dispositivo de 0 a 7. value: inteiro de 8 bits correspondente ao valor da porta.

CONSTANTES

_PCF8574_PCF8574A. É o endereço. Usá-las para especificar o dispositivo a ser utilizado.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s