Autor Tema: Error de lectura del DS1821 sensor temp 1-wire  (Leído 1435 veces)

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

Desconectado sanpic

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 430
Error de lectura del DS1821 sensor temp 1-wire
« en: 27 de Octubre de 2004, 21:24:00 »
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.



Angelito



"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
IF you_know = true THEN                                 
     share_it
ENDIF