$regfile "m8def.dat" $hwstack = 32 $swstack = 32 $framesize = 32 $crystal = 4000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Cursor Off Config Timer1 = Timer , Prescale = 256 Enable Timer1 On Timer1 Isr_timer1 Enable Interrupts Timer1 = 49911 Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Config Portb.1 = Output Config Portb.2 = Output Dim Sekunde As Word Dim Stunde As Byte Dim Temperatur As Word Dim Feuchte As Word Dim Pottime As Word Dim Potwater As Word Dim Water As Word Do Temperatur = Getadc(5) Temperatur = Temperatur * 5 Temperatur = Temperatur / 10 Feuchte = Getadc(4) Pottime = Getadc(3) Potwater = Getadc(2) Pottime = Pottime / 42 Potwater = Potwater / 3 Water = Potwater / 10 Feuchte = Feuchte / 10 Cls Locate 1 , 3 Lcd Temperatur Locate 1 , 6 Lcd "'C" Locate 1 , 10 Lcd "r.B:" Locate 1 , 14 Lcd Feuchte Locate 2 , 1 Lcd "B.h :" Locate 2 , 6 Lcd Pottime Locate 2 , 10 Lcd "ml:" Locate 2 , 14 Lcd Potwater If Stunde < Pottime Then Portb.1 = 1 Else Portb.1 = 0 End If If Feuchte <= 10 And Water > 0 Then Portb.2 = 1 Wait Water Portb.2 = 0 End If Waitms 300 Loop End Isr_timer1: Timer1 = 49911 Incr Sekunde If Sekunde >= 3600 Then Incr Stunde If Stunde >= 24 Then Stunde = 0 Sekunde = 0 End If Return