Forum: Mikrocontroller und Digitale Elektronik Probs bei (mal wieder ;-) ) Atmega16 Frequenzzähler in Asm


von Th B. (tbusse)


Angehängte Dateien:

Lesenswert?

Hallo

Ich plage mich jetzt schon eine Weile mit der Realisierung eines an sich 
einfach Frequenzzählers herum (der Source ist im Anhang). Er soll von 
1Hz (später auch ab 1/4Hz) bis 2kHz messen können und das Ganze auf 
einer 4stelligen 7-Segmentanzeige ausgegeben werden. Die Ausgabe samt 
Berechnung funktioniert (mit vorgegebenen Werten) problemlos. Die per 
Inputcapture realisierte Zeitmessung hatte ich mir über eine RS232 
Ausgabe auf einem Rechner anzeigen lassen und diese war von den Werten 
her auch in Ordnung. Nur zusammen funktionieren die beiden Teile leider 
nicht. Die Anzeige flackert aufgeregt ohne das irgendwelche Werte 
wirklich erkennbar sind. In der hochgeladenen Version fehlt (im Rahmen 
der Fehlersuche) der Teil bzw. ist er auskommentiert welcher die 
Frequenzen von 1-245Hz messen soll. Da die 16bit Auflösung des ICR hier 
ja nicht reicht wollte ich das über den Overflow des Timer1 und einem 
Zähler realisieren und so das ganze auf 32bit erweitern.
Ich bin noch einigermaßen neu im Bereich der µC und so ist es bestimmt 
noch nicht die eleganteste Lösung aber vielleicht kann mir ja trotzdem 
jemand helfen das Teil zu laufen zu bringen. Danke!

Thomas

von Th B. (tbusse)


Lesenswert?

Hat keiner eine Idee?

von Karl H. (kbuchegg)


Lesenswert?

Habs jetzt nicht ausprobiert, nur drübergeschaut.
Aufgefallen ist mir:
Vor deiner Divisionsroutien werden r7 und r8 nicht gelöscht und 
enthalten noch Reste vom vorhergehenden Durchlauf. Blöderweise sind das 
genau die Highbytes vom Divisior. Das dürfte sich kräftig im Ergebnis 
niederschlagen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.