witam
mój problem jest tego typu, że ma termometr, który wykorzystuje właśnie18d20 i wyświetla temperaturę na lcd tylko że nie liniowo;/
co jest nie tak
podłączony jest przez rezystor podciągający
a o to jak wygląda kod programu
mój problem jest tego typu, że ma termometr, który wykorzystuje właśnie18d20 i wyświetla temperaturę na lcd tylko że nie liniowo;/
co jest nie tak
podłączony jest przez rezystor podciągający
a o to jak wygląda kod programu
$regfile = "m8def.dat" ' zdeklarowane dla Atmegi8
$crystal = 8000000 ' Taktowanie wewnetrzne 1mHz
Config 1wire = Portb.0 ' ustawienie pinu dla magistrali 1wire (czujnik temperatury)
Declare Sub Odcz_temp
Dim Temp(2) As Byte ' adres czujnika temperatury
'definicja znaku stopnia
Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32
Cls
Cursor Off
Lcd "Termometr Pawel"
Lowerline
Lcd " 2009;)"
Wait 2
Do
Call Odcz_temp
Cls
If Temp(2) = 0 Then
Lcd "Temp: " ; Temp(1) ; Chr(0) ; "C"
Else
Lcd "Temp: -" ; Temp(1) ; Chr(0) ; "C"
End If
Loop
End
Sub Odcz_temp
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
1wreset
1wwrite &HCC
1wwrite &HBE
Temp(1) = 1wread(2)
1wreset
If Err = 1 Then
Cls
Lcd "Brak układu"
Do
Loop
End If
If Temp(2) > 0 Then
Temp(1) = 256 - temp(1);
End If
Temp(1) = Temp(1) / 2
End Sub