//#include <16f648A.h> //pic a utilizar
#include <16f876.h> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP //ordenes para el programador
//#fuses INTRC //oscilador interno
//#use delay (clock=4000000) //Fosc=4Mhz
#define SAA1064_DINAMICO //trabajar en modo dinamico el saa1064
#define SAA1064_SCL PIN_C3 //definicion de pines...
#define SAA1064_SDA PIN_C4 //...de manejo del saa1064
#define ADR1_SDA PIN_A0
#define ADR2_SDA PIN_A1
#define ADR3_SDA PIN_A2
#use i2c(master,sda=SAA1064_SDA, scl=SAA1064_SCL) //i2c
int config, direccion,numero;
void main(void)
{
// setup_oscillator(OSC_4MHZ); //configuracion del oscilador interno a 4MHz
output_high (ADR1_SDA); //salida de comprobacion
output_high (ADR2_SDA); //salida de comprobacion
output_high (ADR3_SDA); //salida de comprobacion
direccion = 0x76;
config = 0b01110001;
numero = 0b01111111;
i2c_start();
output_low (ADR3_SDA); //salida de comprobacion
i2c_write(direccion); //direccion esclavo
output_low (ADR2_SDA); //salida de comprobacion
i2c_write(0x00); //instruction byte -> registro de control
i2c_write(config); //configuracion
i2c_write(numero); //escribe digito 1
i2c_write(numero); //escribe digito 2
i2c_write(numero); //escribe digito 3
i2c_write(numero); //escribe digito 4
i2c_stop();
output_high (ADR3_SDA); //salida de comprobacion
}