Hi

I'm trying to get the temperature values from a DS18B20 but it seems like I receive only the lower 6 bits. Right now I have 101110 wich is 2.8750.
When I touch the sensor it will increase the values, like 110011 wich is 3.1875. So I think the sensor is ok but for some reason it doesnt give me all bits. I use a 4.7k pull up.

My program looks like this:

Code:
ADCON1 = %00001111			   
DEFINE OSC 48          
DEFINE LOADER_USED 1
DEFINE RESET_ORG 800h           ' For Microchip USB Bootloader
DEFINE INTERRUPT_ORG 808h       ' For Microchip USB Bootloader
Define  LCD_DREG        PORTA
Define  LCD_DBIT        0
Define  LCD_RSREG       PORTA
Define  LCD_RSBIT       4
Define  LCD_EREG        PORTB
Define  LCD_EBIT        3
DEFINE  LCD_BITS 4 
DEFINE  LCD_LINES 2 
DEFINE  LCD_RWREG PORTA
DEFINE  LCD_RWBIT 2


DQ          VAR	PortC.0     ' One-wire Data-Pin "DQ" on PortC.0
Busy        VAR BIT         ' Busy Status-Bit
R_Temp      VAR	WORD        ' RAW Temperature readings

	Low PORTA.5			                 ' LCD R/W line low (W)

MainProgram:
    OWOUT   DQ, 1, [$CC, $44]           ' Skip ROM search & do temp conversion
Wait_Up:
    OWIN    DQ, 4, [Busy]               ' Read busy-bit
    IF      Busy = 0 THEN Wait_Up       ' Still busy..?, Wait_Up..!
    OWOUT   DQ, 1, [$CC, $BE]           ' Skip ROM search & read scratchpad memory
    OWIN    DQ, 2, [R_Temp.Lowbyte, R_Temp.Highbyte]' Read two bytes / end comms
    lcdout $fe,1,"High= ",bin R_Temp.Highbyte," Low= ",bin R_Temp.Lowbyte
GOTO MainProgram
END
And it gives me "High= 0 Low= 101110" on the LCD.
I have two sensors to test with and they act the same way.
What can be wrong here? I tried to take the code direct from here: http://www.rentron.com/PicBasic/one-wire3.htm
But no success. It just print +2.8750 on LCD.

Thanks in advance.

Stefan.