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 .