logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Termometr-Bascom-Problem z DS18B20(przerobienie programu)

adi84_84 18 Sie 2010 09:02 2545 3
REKLAMA
  • #1 8410212
    adi84_84
    Poziom 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:)

     $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
  • REKLAMA
  • #2 8411602
    Freddy
    Poziom 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.
  • REKLAMA
  • #3 8411938
    Konto nie istnieje
    Poziom 1  
  • #4 8413253
    gregoorr
    Poziom 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.
REKLAMA