Instructions
300Libraries
© 2013 Conrad Electronic
ret= OneWire_Reset(7); // PortA.7
if(ret == 0)
{
text= "no device found";
Msg_WriteText(text);
goto end;
}
OneWire_Write(0xcc); // skip ROM cmd
OneWire_Write(0x44); // start temperature measure cmd
AbsDelay(3000);
OneWire_Reset(7); // PortA.7
OneWire_Write(0xcc); // skip ROM cmd
OneWire_Write(0xbe); // read scratch_pad cmd
for(i=0;i<9;i++) // read whole scratchpad
{
scratch_pad[i]= OneWire_Read();
Msg_WriteHex(scratch_pad[i]);
}
Msg_WriteChar('\r');
text= "Temperature: ";
Msg_WriteText(text);
temp= scratch_pad[1]*256 + scratch_pad[0];
Msg_WriteFloat(temp* 0.5);
Msg_WriteChar('C');
Msg_WriteChar('\r');
end:
}
BASIC
' Sample Code to read DS18S20 temp. sensor from Dallas Maxim
Dim Text(40) As Char
Dim ret,i As Integer
Dim temp As Integer
Dim rom_code(8) As Byte
Dim scratch_pad(9) As Byte
Sub main()
ret = OneWire_Reset(7) ' PortA.7
If ret = 0 Then
Text= "no device found"
Msg_WriteText(Text)
Goto Ende