Transcript
Page 1: Comunicación I2C a un dispositivo DS1624

Tarea de Microcontroladores #4

Nombre: Ítalo Esparza Villacís.

//Programa con el cual podremos leer los datos leídos de un chip DS1624, el cual mide temperaturas, gracias a una tabla que relaciona los bytes con la temperatura en grados centígrados.

//Definimos nuestros bits a utilizar

sbit I2C_Scl at RB1_bit;

sbit I2C_Sda at RB2_bit;

sbit I2C_Scl_Direction at TRISB1_bit;

sbit I2C_Sda_Direction at TRISB2_bit;

void main () {

OSCON=0x60; //Oscilador interno a 4 Mhz.

ANSEL=0x00;

ANSELH=0x00;

I2C_Start (); //El Scl se va a bajo para avisar a los demás Maestros que esta

//que está utilizando un esclavo

I2C_Write (0b10011000); //Byte de control, determinando que usaremos el dispositivo

//en A1, con “0” en R/W señalando q vamos a escribir.

I2C_Write (0xAA); //Comando para leer la temperatura.

I2C_Start (); //Volvemos a iniciar para leer datos.

I2C_Write (0b10011001); //Byte de control, con “1” en R/W porque vamos a leer.

Temp1=I2C_Read (1); //ACK “1” para que cuando termine siga con el otro dato.

Temp2=I2C_Read (0); //ACK “0” no se necesita confirmar recibido del esclavo.

IC2_Stop (); //Se finaliza proceso y el Scl vuelve a alto. Para avisar que se

//que se puede utilizar el bus I2C.


Recommended