Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Dallas DS 1621 anschliessen und auslesen Kategorie: I²C-Bus (von thomso - 29.06.2006 22:41)
Als Antwort auf Dallas DS 1621 anschliessen und auslesen von thomso - 26.06.2006 20:47

Habe das Problem gelöst. Wenns jemanden interessiert, hier das PRG in Basic :

' I2C_test1: Temperaturmessung mit Dallas 1621 Sensor über I2C
' erforderliche Library: IntFunc_Lib.cc, LCD_Lib.cc

' Auf dem LCD Display wird die Temperatur in 0.5 °C Schritten
' angezeigt.
'------------------------------------------------------------------------------

Sub Init(addr As Byte)
    I2C_Init(I2C_100kHz)
    I2C_Start()                 'Start
    I2C_Write(addr)             'Adresse ohne RW
    I2C_Write(&HAC)             'Command write Config
    I2C_Write(&H03)             'Config byte   single sample
    I2C_Stop()                  'Stop

    LCD_Init()                              ' Display initialisieren
    LCD_ClearLCD()                          ' Display löschen
    LCD_CursorOff()                         ' Display Cursur ausschalten
End Sub
Sub Temp_Lesen(addr As Byte)
    Dim Wert As Single
    Dim Wert1 As Byte
    Dim Wert3(6) As Char
    I2C_Start()                 'Start
    I2C_Write(addr)             'Adresse ohne RW
    I2C_Write(&HEE)             'Command start convert
    I2C_Start()                 'Start
    I2C_Write(addr)             'Adresse ohne RW
    I2C_Write(&HAA)             'Command read tempregister 2 byte
    I2C_Start()                 'repeated start
    I2C_Write(addr+1)           'Adresse mit RW
    Wert=I2C_Read_ACK()         'Read msb mit Ack
    Wert1=I2C_Read_NACK()       'Read lsb mit Nack
    I2C_Stop()
If Wert1=128 Then
    Wert=Wert+0.5
End If
                                'Ausgabe LCD
    Str_WriteFloat(Wert,1,Wert3,0)
    LCD_CursorPos(0)
    LCD_WriteText(Wert3)
    AbsDelay(1000)
End Sub
'------------------------------------------------------------------------------
' Hauptprogramm
'
Sub main()
    Dim addr As Byte
    addr=&H90                   'Dallas Grundadresse Device 1 A0,A1,A2 auf Masse
    Init(addr)                  'Init I2C,Dallas,LCD
    Do While 1                  'Endlosschleife
        Temp_Lesen(addr)        'Temp lesen
    End While
End Sub


    Antwort schreiben


Antworten:

Re: Dallas DS 1621 anschliessen und auslesen (von Thomas - 18.01.2007 14:02)
    Re: Dallas DS 1621 anschliessen und auslesen (von Space_Wolfgang - 30.08.2008 8:57)