Det ser ut som om allt fungerar nu.
När jag mäter ifrån sensor 1. ( sensor på labbkort) säger den att det är 25.1
När jag mäter ifrån sensor 2. ( sensor i kylskåpet ) säger den att det är 9,6C
och det kanske kan stämma.
koden som jag använder mig av är följande.
--------------------------
program DS18B20_test
dim Raw_temp as word
TempC, comma as word
i, j1, j2, minus as byte
text as char[14]
main:
'DDRC.3 =1 ' put RW on GND --> PORTC.3=0
'PORTC.3 =0 ' to work on GLCD connector
Lcd_Init(PORTD, 6, 4, PORTA, LCD_HI_NIBBLE)
Lcd_Out(1,1,"Temeperature :")
Lcd_Cmd(LCD_CURSOR_OFF)
do
ow_reset(PORTC,6) ' onewire reset signal
ow_write($CC) ' issue command to DS1820
ow_write($44) ' issue command to DS1820
delay_us(120)
i = ow_reset(PORTC,6)
ow_write($CC) ' issue command to DS1820
ow_write($BE) ' issue command to DS1820
j1 = ow_read ' get result
j2 = ow_read ' get result (assuming the temperature is positive)
minus= j2 >> 3
if minus = $1F then ' Checking temp.(+ or -)
j2= not j2
j1=-j1
end if
Raw_temp= (j2 <<

or j1 ' Getting RAW data
if minus = $1F then
Lcd_Chr(2,1,"-") ' Write temp. sign (+ or -) on LCD
else
Lcd_Chr(2,1,"+")
end if
TempC=(Raw_temp and $0FF0) >> 4 ' WHOLE NUMBER
comma=(j1 and $0F) * 625 ' DECIMAL
WordToStr(TempC,text) ' Write temp. whole number on LCD
Lcd_Chr(2, 2, text[0])
Lcd_Chr(2, 3, text[1])
Lcd_Chr(2, 4, 46) '"."
WordToStr(comma,text) ' Write temp. decimal number on LCD
Lcd_Chr(2, 5, text[0])
Lcd_Chr(2, 6, text[1])
Lcd_Chr(2, 7, text[2])
Lcd_Chr(2, 8, text[3])
lcd_chr(2, 9, 223) ' "degree" character
lcd_chr(2, 10,"C")
Delay_ms(500)
loop until false ' endless loop
end.
--------------------------