#include <16F887.h>
#FUSES NOWDT, hs, put
#use delay (clock = 20000000)
#use i2c(MASTER, SDA=PIN_C4, SLOW, SCL=PIN_C3)
#use standard_io(a)
#use standard_io(b)
#use standard_io(c)
#use standard_io(d)
#use standard_io(e)
int a=1;
byte byteA[8]={1,0,1,0,1,0,1,0};
byte byteB[8]={0,1,0,1,1,1,1,0};
byte byteC[8]={0,1,0,1,0,1,0,0};
char CounterA = sizeof( byteA );
char CounterB = sizeof( byteB );
char CounterC = sizeof( byteC );
int tecla;
/******************************************************************************/
/***************************** Envío I2C **************************************/
void in_out();
void variables();
void key();
void envio_I2C()
{
i2c_start(); //Comienzo de la comunicación I2C ...
i2c_write(0xa0); //...con la dirección del PIC esclavo...
//i2c_write(tecla);
for ( CounterA = 0; CounterA < sizeof( byteA); CounterA ++ )
{ i2c_write( byteA[ CounterA ] );}
for ( CounterB = 0; CounterB < sizeof( byteB); CounterB ++ )
{ i2c_write( byteC[ CounterB ] );}
for ( CounterC = 0; CounterC < sizeof( byteC); CounterC ++ )
{ i2c_write( byteB[ CounterC ] );}
i2c_stop(); //Finalización de la transmisión
}
/******************************************************************************/
/*************************** FUNCIÓN PRINCIPAL ********************************/
void main()
{
//enable_interrupts(global);
//enable_interrupts(int_rda);
while(true)
{
if (input(pin_a0)==1)
{
envio_I2C();
}
}
}