Hola
Antes de nada gracias por las respuestas.
He estado buscando mas informacion con respecto a los medidores de temperatura y he visto que uno de los que mejor funcionan es el ds1820.
Mirando varios codigos hechos en mikrobasic he conseguido hacer uno. Mi problema es que funcionar funciona y sale informacion por el lcd pero me sale 0 .0 ºC. La verdad no se porque puede ser, por mas vueltas que le doy al codigo no consigo saber donde esta el fallo.
Este es el codigo utilizado:
program DS1820
dim i, j1, j2 as byte
text as string[6]
tmp_sign as byte
main:
text ="Temp:"
adcon1=255
PORTA =255
PORTB=0
TRISA=255
TRISB=0
Lcd_Init(PORTb)
lcd_config(portb,7,6,5,4,portb,0,1,2)
Lcd_cmd(LCD_CURSOR_OFF)
lcd_out(1, 1, text)
lcd_chr(2, 12, 223)
lcd_chr(1, 13, "C")
While TRUE
ow_reset(PORTA, 5)
OW_WRITE(PORTA, 5, $CC)
OW_WRITE(PORTA, 5, $44)
DELAY_US(120)
i=ow_reset(PORTA, 5)
OW_WRITE(PORTA, 5, $CC)
OW_WRITE(PORTA, 5, $BE)
j1=ow_read(PORTA, 5)
j2=ow_read(PORTA, 5)
j2=(j1 and $01)*5
j1=j1>>1
ByteToStr (j1, text)
lcd_chr(2, 7, tmp_sign)
lcd_chr(2, 8, text[1])
lcd_chr(2, 7, text[2])
lcd_chr(2, 10, 46)
ByteToStr (j2, text)
lcd_chr(2, 11, text[2])
Delay_ms(500)
wend
end.
Mañano adjunto el proyecto en proteus ya que no lo tengo aqui a ver si me falla algo del diseño de proteus.
A ver si alguien me pudiera hechar una mano con este tema.
Un saludo