Witam!
Prosze szanownych znawcow tematu o vopinie odnosnie projektu termometru 2 liniowgo. Mam z nim duzy klopot, mianowicie kod zajmuje 3244 no i do 2 KB procka raczej do nie wbije.
Prosze o pomoc i wszelkie wskazowki....Nadmieniam ze projekt jest zlepka kilku projektow termometru poniewaz nie mam doswiadczenia w 1wire
Prosze szanownych znawcow tematu o vopinie odnosnie projektu termometru 2 liniowgo. Mam z nim duzy klopot, mianowicie kod zajmuje 3244 no i do 2 KB procka raczej do nie wbije.
Config 1wire = Portd.0 'konfiguracja magistrali 1wire
Config Lcd = 16 * 2 'konfiguracja wyswietlacza
Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia
Dim T1 As Single
Dim T2 As Single
Dim B1 As Byte , B2 As Byte , R As Byte
Dim Tmp As String * 6
Dim Znak As String * 1
Dim Dsid1(8) As Byte
Dim Dsid2(8) As Byte
R = &HFF
Declare Sub Lwr
Declare Sub Odczyt
Declare Sub Gol 'podprogram resetujacy magistrale 1w
Cursor Off
Cls
Dsid1(1) = 1wsearchfirst()
Dsid2(1) = 1wsearchnext()
Waitms 500
Wait 1
Cls
Do
Home
1wverify Dsid1(1) 'Issues the "Match ROM "
If Err = 1 Then
Lcd " Blad pomiaru" 'Err = 1 if something is wrong
Elseif Err = 0 Then
Odczyt
Lcd "T.zewn.:" ; Znak ; Tmp ; Chr(1) ; "C "
Gol
End If
Waitms 250
1wverify Dsid2(1)
Lowerline
If Err = 1 Then
Lcd " Blad pomiaru "
Elseif Err = 0 Then
Odczyt
Lcd "T.wewn.:" ; Znak ; Tmp ; Chr(1) ; "C "
End If
Waitms 250
Loop
Sub Lwr 'podprogram resetujacy magistrale
1wreset
End Sub
Sub Odczyt
Lwr 'podprogram 1wr
1wwrite &HCC 'komenda skip ROM
1wwrite &H44 'komenda convert T
Waitms 250
Waitms 250
Lwr 'podprogram 1wr
1wwrite &HCC 'komenda skip ROM
1wwrite &HBE 'komenda read
B1 = 1wread() 'odczyt z termometru
B2 = 1wread()
Lwr 'podprogram 1wr
If B2 >= 248 Then 'w przypadku temperatur ujemnych
B1 = R - B1 'Od 255 Odejmujemy B1
B2 = R - B2 'od 255 odejmujemy B2
Znak = "-"
Else
Znak = "+"
End If
T1 = B1 / 16 'Przesuniecie w pawo o 4 bajty
T2 = B2 * 16 'przesuniecie w lewo o 4 bajty
T1 = T1 + T2
Tmp = Fusing(t1 , "###.&&")
End Sub
Sub Gol
If T1 < 0.8 Then
Lowerline
Lcd "Mozliwa Gololedz"
End If
End Sub