Code:
mainloop:
OWOut DQ, 1, [$55,$47,$6C,$71,$01,$08,$00,$C1,$44] ' Start conversie temperatura in casa
waitloop:
OWIn DQ, 4, [count_remain] ' Check for still busy converting
If count_remain = 0 Then waitloop
OWOut DQ, 1, [$CC, $BE] ' Read the temperature
OWIn DQ, 0, [temperature.LOWBYTE, temperature.HIGHBYTE, Skip 4, count_remain, count_per_c]
pause 300
if temperature.HighByte > $0000 then ' For " - " temperature DS1820
temperature = ($FF - temperature.LowByte)
tem = (100/16)*(count_remain)
pause 50
LCDOUT $fe, 1
LCDOUT $FE,$80 ,"Temp= -", dec temperature ,",",dec2 (100/16)*(count_remain)," gr.C"
zeci = 48+(temperature //100/10)
unitati = 48+(temperature // 10)
zecimi = 48+(tem/10 )
sutimi = 48+(tem//10)
adr = 2
i2cwrite I2CDAT, I2CCLK, $A0, adr,["TEMPERATURE IS = -",zeci,unitati,".",zecimi,sutimi,"degree C"]
else
temperature = (temperature.LOWBYTE )/2 ' For "+" temperature
tem = 100- (100/16)*(count_remain)
pause 50
LCDOUT $fe, 1
LCDOUT $fe, $80
LCDOUT "temp= " , dec temperature ,"." , dec2 100- (100/16)*(count_remain)," gr.C"
pause 30
sute = 48 +(temperature // 1000/100)
zeci = 48+(temperature //100/10)
unitati = 48+(temperature // 10)
zecimi = 48+(tem/10 )
sutimi = 48+(tem//10)
adr = 2
i2cwrite I2CDAT, I2CCLK, $A0, adr,["TEMPERATURE IS=",zeci,unitati,".",zecimi,sutimi,"degree C"]
pause 100
endif
Thank you for all your help !
Bookmarks