Hallihallo, nochmal ich,
aus irgend einem grund hängt sich mein dzm ab und zu auf, manchmal nach sehr kurzer zeit, aber ich weiß noch nicht so richtig warum. ich dachte mir jetzt mal die messung der drehzahl durch das messen der zeit zwischen den impulsen zu bestimmen. einziger haken meine software macht nicht was se soll![]()
hier die erklärung dazu, vll könnte nochmal einer von euch mir auf die sprünge helfen. problem ist übrigenz das mein display nichts anzeigt.
danke im vorraus
int0 ist der interrupt der zündung
timer1 misst die zeit zwischen den impulsen
timer0 sollte eigentlich etwa alle halbe sekunde mein dislpay aktualisieren
berechnung der drehzahl:
Numb = Numa (vom timer gezählt) / 0,1229079 (Wert aus 16Bit Timer / Prescaled frequenz)
Numc = Numb / 65536 (16Bit Timer)
Numd = 1 / Numc
Umin = Numd * 60
ich hoffe das versteht einer, ist recht verwirrend, vll liegt da auch schon ein fehler?
Code:$regfile "m8def.dat" $crystal = 3686400 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.0 , Rs = Portb.1 Config Lcdpin = 16 * 2 Config Portb = Output Config Pind.2 = 0 Portd.2 = 1 Dim Umin As Word 'Drehzahl Dim Speed As Word 'Geschwindigkeit Speed = 113 Dim Numa As Word 'zahl1 für berechnung 'zahl1 für berechnung Dim Numb As Single Dim Numc As Single Dim Numd As Single Dim Zahler As Word 'zahl2 für berechnung Config Int0 = Falling 'int0 Enable Int0 On Int0 Isrcounter Config Timer0 = Timer , Prescale = 1024 Enable Timer0 On Timer0 Isrdisplay Config Timer1 = Timer , Prescale = 8 'timer1 Enable Timer1 On Timer1 Isrtimer Enable Interrupts Timer1 = 0 Do If Zahler = 7 Then Zahler= 0 Numb = Numa * 0.1229079 'Berechnung umin Numc = Numb / 65536 Numd = 1 / Numc Umin = Numd * 60 Cls Locate 1 , 1 Lcd "Drehzahl:" 'Display Locate 1 , 11 Lcd Umin Locate 2 , 1 Lcd "Speed: " Locate 2 , 8 Lcd Speed Locate 2 , 11 Lcd "Km/h" End If Loop End Isrcounter: Numa = Timer1 Timer1 = 0 'Zähler durch Interrupt Return Isrdisplay: Incr Zahler Return Isrtimer: 'Wenn Timer1 Überlaufen sollte Umin = 0 Return







Zitieren

Lesezeichen