Hola Grupò.
Estoy utilizando un DS1821 conectado a un 16f84. Para la visualizacion , un LCD 2x16.
El problema es que siempre me indica el mismo valor , 654 C y 554 F , como ven , es imposible tener esa lectura.
Aca les dejo el codigo fuente , a ver si me explican donde esta el error.
Desde ya muchas gracias.
Un abrazo a todos.
"Inicio de programa
temperatura var word
conteo var byte
conteo_c var byte
DQ var portb.1
mainloop: owout DQ, 1, [$CC, $44]
waitloop: owin dq, 4, [conteo]
if conteo = 0 then waitloop
owout DQ, 1, [$CC, $BE]
owin DQ, 0, [temperatura.lowbyte, temperatura.highbyte, Skip 4, conteo, conteo_c]
temperatura = (((temperatura >> 1) * 100) - 25) + (((conteo_c - conteo) * 100) / conteo_c)
lcdout $FE, 1, dec (temperatura / 100),".", dec2 temperatura, " C"
temperatura = (temperatura */ 461) + 3200
lcdout $FE, $C0, DEC (temperatura / 100), ".", dec2 temperatura, " F"
pause 3000
goto mainloop
"Fin de programa