Autor Tema: Problema simulacion 16f88 + Sensor Tª TC74 con I2C - (solucionado)  (Leído 2194 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sokoloko

  • PIC12
  • **
  • Mensajes: 77
Hola!!

Estoy probando a simular un ejemplo de lectura de un sensor TC74 a traves del puerto I2C, he leido varios ejemplo en este foro, pero por mas que hago pruebas con dichos codigos no me funciona.

Se inicia la comunicacion entre maestro y esclavo, pero el valor que lee es siempre fijo.

Adjunto codigo y simulación en proteus, Gracias.

Código: [Seleccionar]
#include <16f88.h>             //pic a utilizar
#fuses NOWDT,NOPROTECT,PUT,NOLVP, NOMCLR,INTRC_IO, NODEBUG     //ordenes para el programador
#use delay (clock=8000000)         //Fosc=8Mhz
#define use_portb_lcd TRUE           //definir portb lcd
#include <LCD_PORT_A.c>                   //libreria manejo lcd
#define EEPROM_SDA  PIN_B1
#define EEPROM_SCL  PIN_B4
#use i2c(master,sda=EEPROM_SDA, scl=EEPROM_SCL,FORCE_HW,slow)
#define escribir_dispositivo 0b10011000 //direccion del sensor y Write flag
#define leer_dispositivo 0b10011001 //direccion del sensor y read flag


long tmp=0;

void main(){
long i = 0;
output_float(EEPROM_SDA);
output_float(EEPROM_SCL);
lcd_init();
i2c_start();
i2c_write(escribir_dispositivo); // selecciono dispositivo
i2c_write(0x01); // le digo que voy al registro configuracion
i2c_write(0x00); // configuro en modo normal
i2c_stop(); // paro
  
   while (true){
i++;
i2c_start();
i2c_write(escribir_dispositivo);
i2c_write(0x00);
//i2c_start();
i2c_write(leer_dispositivo);
tmp=i2c_read(1);
i2c_stop();
lcd_gotoxy(1,1);
printf(lcd_putc,"I=%02ld ",i);
lcd_gotoxy(1,2);
printf(lcd_putc,"Temp : %ld Grados",tmp);  //%2D%cC",tmp,signo);
        delay_ms(1000);
  }
}
« Última modificación: 06 de Junio de 2011, 10:05:11 por sokoloko »

Desconectado sokoloko

  • PIC12
  • **
  • Mensajes: 77
Re: Problema simulacion 16f88 + Sensor Tª TC74 con I2C - (solucionado)
« Respuesta #1 en: 06 de Junio de 2011, 10:07:10 »
Bueno tras muchas pruebas me respondo a mi mismo por si a alguno mas le pasa.

En la ultima versión de Proteus las direcciones correctas para es sensor TC74 son:
Código: [Seleccionar]
#define escribir_dispositivo 0X9A
#define leer_dispositivo 0X9B

Con eso se soluciono el problema.  :-/ :-/

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Problema simulacion 16f88 + Sensor Tª TC74 con I2C - (solucionado)
« Respuesta #2 en: 06 de Junio de 2011, 12:22:51 »
  Estvue haciendo pruebas y te iba a contestar eso. No es un tema del Proteus sino de la dirección del dispositivo.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado sokoloko

  • PIC12
  • **
  • Mensajes: 77
Re: Problema simulacion 16f88 + Sensor Tª TC74 con I2C - (solucionado)
« Respuesta #3 en: 06 de Junio de 2011, 14:20:18 »
Es que en algunos ejemplos vienen mal indicado.

Muchas gracias de todas formas.

Saludos!!!!

Desconectado grafisoft

  • PIC10
  • *
  • Mensajes: 7
Re: Problema simulacion 16f88 + Sensor Tª TC74 con I2C - (solucionado)
« Respuesta #4 en: 27 de Junio de 2011, 17:15:07 »
Hola, he intentado usar este codigo pero me muestra siempre el valor 255, a que puede ser debido?

Saludos


 

anything