View
46
Download
4
Category
Preview:
DESCRIPTION
Es un breve ejemplo de como utilizar la función I2C en MikroC, donde el maestro es el PIC 16F887 a un esclavo que en este caso es el dispositivo DS1624, que es un termómetro digital, con pines que conectan a dispositivos de medición A1,A2 y A3, para relaciones de cambio de temperatura y comandos de control, revisar el datasheet del chip.
Citation preview
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