$regfile = "m8def.dat" $crystal = 8000000 Dim Tmp As Long 'Arbeitsvariable Dim Tmp1 As Word 'Arbeitsvariable Dim T0 As Byte 'Variable für Counter0(verbrauch) Dim T1 As Long 'Variable für Counter1(rpm) Dim Adcw0 As Word 'Variable für ADC0(vergaser temp) Dim Adcw1 As Word 'Variable für ADC1(motor temp) Dim Adcw2 As Word 'Variable für ADC2(Tankfüllstand) 'Signal für rpm wird mit ein paar wicklungen vom zündkabel abgenommen. 'über einen 1mohm R auf eine 5v Z-Diode und einen xxnF condensator gegen masse 'auf dem µC gelegt 'LCD Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , Rs = Portb.5 , E = Portb.4 Config Lcd = 20 * 4 Cls Cursor Off 'Config Config Timer0 = Counter , Edge = Rising 'Eingang= portd.4 Config Timer1 = Counter , Edge = Rising 'Eingang= portd.5 Config Adc = Single , Prescaler = Auto 'AD-Eingang portc.0-2 Start Adc T0 = 0 T1 = 0 Adcw0 = 0 Adcw1 = 0 Adcw2 = 0 Main: Do Cls Locate 3 , 1 'Daten berechnen Lcd "Count.0 " ; T0 ; " " 'und ausgeben Locate 3 , 12 Tmp = T0 * 200 Lcd Tmp ; "ml/h" Locate 4 , 1 Lcd "Count.1 " ; T1 ; " " Locate 4 , 12 Tmp = T1 * 60 Lcd Tmp ; "rpm" Locate 1 , 1 Lcd "adc0 " ; Adcw0 Locate 2 , 1 Lcd "adc1 " ; Adcw1 Locate 1 , 11 Lcd "adc2 " ; Adcw2 Gosub Getdatec 'hole counterwerte Gosub Getdatead 'hole adwerte Loop End Getdatec: Timer0 = 0 ' Timer1 = 0 Waitms 1000 T0 = Timer0 T1 = Timer1 Return Getdatead: Adcw0 = Getadc(0) Adcw1 = Getadc(1) Adcw2 = Getadc(2) Return