Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Termometr-Bascom-Problem z DS18B20(przerobienie programu)

adi84_84 18 Aug 2010 09:02 2482 3
  • #1
    adi84_84
    Level 14  
    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
  • #2
    Freddy
    Level 43  
    Jest na forum taki klawisz "szukaj", tak wygląda
    Termometr-Bascom-Problem z DS18B20(przerobienie programu)
    użyj go, a znajdziesz odpowiedź, było na ten temat dużo postów.
  • #3
    emarcus
    Level 38  
    adi84_84 wrote:
    Witam.Mam taki problem.
    ...............
    Temp.z dwóch układów na jednej 1Wire.Proszę o pomoc:)



    Poszukaj na stronie źródłowej Bascom.
    MCS Electronics, artykuł: AN#111 (Application Note)
    Ten numer artykułu już chyba wszyscy pamiętają.
    Poczytaj też inne, może się kiedy przydadzą....,
    -gdyby jednak pamięć zawiodła, zawsze możesz zadać pytanie tu na grupie.

    e marcus
  • #4
    gregoorr
    Level 17  
    To zrób to na dwóch pinach. Będzie łatwiej i w razie uszkodzenia czujnika wpinasz nowy i wszystko działa. Wystarczy tylko powielić odczyt i problem z głowy.