Gast
#93493
Hallo, ich will mir einen Drehzahlmesser für mein Auto bauen. Also ich hab mir das so vorgestellt: Sobald eine Zündung erfolgt wird per Interrupt der Timer ausgelöst und beginnt zu zählen. Kommt wieder eine Zündung stopt der Timer und der µC kann dann die Drehzahl ausrechnen und auf einem Display ausgeben. Aber jetzt kommt der schwierigere Teil: Die Rechnung! Von Zündzeitpunkt zu Zündzeitpunkt bedeutet eine Umdrehung. Der Timer erfasst die Zeitzyklen die der Motor für eine Umdrehung braucht. Demnach komme ich auf diese Formel wenn ich das Ergebnis in 1/min haben will. 60/[Zyklen*(1/CPU Takt/1024)] Der Term in der () entspricht dem Prescaler der auf 1/1024 eingestellt ist. Wie führe ich diese Rechnung aus? Es handelt sich dabei um einen 16Bit Timer. Wie kann ich ein Registerpaar (16Bit) mit einer Zahl multiplizieren oder dividieren? Ich programmiere in Assembler!