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
Lesezeichen