PIC: PCF8574
O CI PCF8574 é um expansor de portas entradas/saídas de 8 bits via comunicação I2C. Com ele é possível expandir as portas de um microcontrolador utilizando apenas duas portas para 8 portas. Pode-se utilizar até 8 CI's conectados no mesmo barramento, totalizando 64 portas.
ENDEREÇAMENTO
Os bits A2, A1, A0 correspondem aos pinos de endereçamento ( A2, A1, e A0 ).
CÓDIGO DA BIBLIOTECA
CÓDIGO DA BIBLIOTECA
MikroC PRO PIC
#define PCF8574_ADDR 64
#define PCF8574A_ADDR 112
void PCF8574_Wr( char address, char value )
{
I2C1_Start();
I2C1_Wr( PCF8574_ADDR | ( address << 1 ) );
I2C1_Wr( value );
I2C1_Stop();
}
char PCF8574_Rd( char address )
{
char value;
I2C1_Start();
I2C1_Wr( PCF8574_ADDR | 1 | ( address << 1 ) );
value = I2C1_Rd(0);
I2C1_Stop();
return(value);
}
EXEMPLO
MikroC PRO PIC
//Habilitar as seguintes bibliotecas:
// - I2C
// - Uart
//Copie e cole aqui o código da biblioteca!!!
void main()
{
char ValorDeEntrada;
I2C1_Init(100000);
Uart1_Init(9600);
//Define todos os pinos como saida e escreve 0 na saida
PCF8574_Wr( 7, 0 );
Delay_ms( 2000 );
//Define todos os pinos como saida e escreve 255 na saida
PCF8574_Wr( 7, 255 );
Delay_ms( 2000 );
while(1)
{
//Define todos os pinos como entrada e realiza a leitura
ValorDeEntrada = PCF8574_Rd( 7 );
if( ValorDeEntrada.B0 )
{
Uart1_Write_Text( "P0 = 1" );
}
else
{
Uart1_Write_Text( "P0 = 0" );
}
}
}




bom dia
ResponderExcluircomo faço para adiconar a biblioteca
bom dia
ResponderExcluiruso adblock desabilitado neste site mesmo assim ele não abre que pena o site é otimo mas não pretendo desinstalar o adblock .