Da ich ja im Momnt Probleme mit dem Programm für den Attiny habe habe ich mich nochmal mit dem Temperaturmessprogramm beschäftigt.

Es wird jetzt auch ein Druckgeber ausgewertet.

Klappt auch soweit ganz gut, mal abgesehen davon das das wieder echzt Speicherfressend ist. Ich musste mit Kommazahlen rechnen, und das wird das Problem sein, oder?

Werde mich da nachher mal mit beschäftignen das ich die Kommas raus bekomme

Code:
$regfile = "m8def.dat"
$crystal = 3686400
$baud = 9600


Dim Adctemp As Integer , Adcdruck As Integer , Volt1 As Integer , Volt2 As Integer , Volt3 As Integer , Volt4 As Integer
Dim Ist As Integer , Ist2 As Integer , Istwert As Integer
Dim Tempwert As Single , Maxwert As Integer , Minwert As Integer , Differenz As Single
Dim Abstand As Single , Temperatur As Integer , Istdruck As Single


Declare Sub Temp
Declare Sub Druck
Declare Sub Ausser_bereich

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Cursor Off

Do
Cls
    Volt1 = Getadc(0)
    Volt2 = Getadc(1)
    Volt3 = Getadc(2)
    Volt4 = Getadc(3)


'    Adctemp = Volt1
    Adctemp = 887
    Temp
    Locate 1 , 1
    Lcd "1: " ; Temperatur
'    Print "           Isttemperatur1: " ; Temperatur
'    Print


'   Adctemp = Volt2
    Adctemp = 400
'    Temp Alias Temp2
    Temp
    Locate 1 , 10
    Lcd "2: " ; Temperatur
'    Print "           Isttemperatur2: " ; Temperatur
'    Print


'    Adcwert = Volt3
    Adcdruck = 325
    Druck
    Locate 2 , 1
    Lcd "3: " ; Istdruck
'    Print "           Isttemperatur3: " ; Istdruck
'    Print


'    Adcwert = Volt4
'    Adcwert = 600
'    Berechnung
'    Locate 2 , 10
'    Lcd "4: " ; Temperatur
'    Print "           Isttemperatur4: " ; Temperatur
'    Print "---------------------------------------------------------"
    Waitms 500
Loop
End


Sub Temp
   If Adctemp > 945 Then Goto Endetemp
   If Adctemp < 179 Then Goto Endetemp
   Ist = -1
   Do
      Minwert = Lookup(ist , Tempwerte)
      Incr Ist
      Maxwert = Lookup(ist , Tempwerte)
   Loop Until Adctemp <= Maxwert
   Tempwert = Ist * 5                                       ' Brechnung welche Temperaturgrundwert gerade gewählt ist
   Differenz = Maxwert - Minwert                            ' Differenz zwischen Maxwert und Minwert
   Abstand = Maxwert - Adctemp                              ' Abstand zwischen Grundwert zum Istwert
   Differenz = Differenz / 5                                ' Differenz durch 5 Teilen um die Analogwertänderung pro 1°C zu erhalten
   Abstand = Abstand / Differenz                            ' Abstand durch Differenz teilen um auf den Wert zu kommen der vom Grundwert abgezogen wird
   Temperatur = Tempwert - Abstand                          ' Aktuelle Temperatur Errechnung
Endetemp:
End Sub

Sub Druck
   If Adcdruck > 945 Then Goto Endedruck
   If Adcdruck < 179 Then Goto Endedruck
   Ist = -1
   Do
      Minwert = Lookup(ist , Druckwerte)
      Incr Ist
      Maxwert = Lookup(ist , Druckwerte)
   Loop Until Adcdruck <= Maxwert
   Tempwert = Ist * 50                                      ' Brechnung welche Temperaturgrundwert gerade gewählt ist
   Tempwert = Tempwert / 100
   Differenz = Maxwert - Minwert                            ' Differenz zwischen Maxwert und Minwert
   Abstand = Maxwert - Adcdruck                             ' Abstand zwischen Grundwert zum Istwert
   Differenz = Differenz / 5                                ' Differenz durch 5 Teilen um die Analogwertänderung pro 1°C zu erhalten
   Abstand = Abstand / Differenz                            ' Abstand durch Differenz teilen um auf den Wert zu kommen der vom Grundwert abgezogen wird
   Abstand = Abstand / 10
   Istdruck = Tempwert - Abstand                            ' Aktuelle Temperatur Errechnung
   Endedruck:
End Sub




' - - - - - - - - - - - - - - - -Datenzeile Temperatursensor mit 500Ohm Vorwiderstand - - - - - - - - - - - - - - - - - - - -
Tempwerte:
Data 179% , 215% , 255% , 299% , 344% , 392% , 440% , 489% , 538% , 584% , 629% , 671% , 709% , 744% , 775% , 803% , 828% , 850% , 870% , 887% , 902% , 915% , 926% , 936% , 945%,

' - - - - - - - - - - - - - - - -Datenzeile Drucksensor mit 20mA Konstantstromquelle - - - - - - - - - - - - - - - - - - - -
Druckwerte:
Data 42% , 86% , 128% , 170% , 211% , 251% , 291% , 329% , 367% , 404% , 440% , 475% , 509% , 543% , 575% , 607% , 638% , 668% , 697% , 726% , 753%