Witam.Mam taki problem.Posiadam program Termometru (Atmega8+DS18B20)pokazujący temp.dodatnie i ujemne.I nie mam pojęcia jak go przerobić pod (2X DS18B20).Temp.z dwóch układów na jednej 1Wire.Proszę o pomoc:)
Code:
$regfile = "m8def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Config 1wire = Portb.0
Declare Sub Odcz_temp
Dim Lsb As Byte
Dim Msb As Byte
Dim Tempstr As String * 5
Dim Temp As Single
Dim Tempa As Integer
Dim Minus As Bit
Dim Bukl As Bit
Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32
Cursor Off
Do
Call Odcz_temp
Cls
If Bukl = 0 Then
If Minus = 0 Then
Lcd " " ; Tempstr ; Chr(0) ; "C"
Else
Lcd " -" ; Tempstr ; Chr(0) ; "C"
End If
Else
Lcd "!!!!! Brak !!!!!"
Lowerline
Lcd "!!!! Ukladu !!!!"
End If
Loop
End
Sub Odcz_temp
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
1wreset
1wwrite &HCC
1wwrite &HBE
Lsb = 1wread():
Msb = 1wread():
1wreset
Reset Bukl
Reset Minus
If Err = 0 Then
Tempa = Msb * 256
Tempa = Tempa + Lsb
If Msb.7 = 0 Then
Temp = Tempa / 16
Else
Set Minus
Tempa = Not Tempa
Tempa = Tempa + 1
Temp = Tempa / 16
End If
Tempstr = Fusing(temp , "###.#")
Else
Set Bukl
End If
End Sub