03.01.2005, 10:59
Hallo, ich möchte mit meinem AT89S8252 eine Frequenz messen...
Meine Idee war den Timer 0 zu verwenden und dieser soll dann zählen
wenn an PortPin 3.2 eine 1 anliegt. Bei negativer Flanke löst dieser
einen Interrupt aus... der Zählerstand (16 Bit) wird BCD gewandelt und
über die Serielle Schnittstelle ausgegeben...
soweit funktioniert es... aber es kommen voll falsche Messwerte
heraus...auf Oszi sind es ca 7ms und der controller sagt 0,6 ms... was
noch seltsamer ist, das er auch sehr oft, bei hohen frequenzen 700Hz 0
als zählwert ausgiebt...geht ja gar nicht...
kennt sich jemand damit aus...hab auch schon überall im netzt
gesucht...finde aber nix.
was mach ich falsch??
Danke!
Meine Idee war den Timer 0 zu verwenden und dieser soll dann zählen
wenn an PortPin 3.2 eine 1 anliegt. Bei negativer Flanke löst dieser
einen Interrupt aus... der Zählerstand (16 Bit) wird BCD gewandelt und
über die Serielle Schnittstelle ausgegeben...
soweit funktioniert es... aber es kommen voll falsche Messwerte
heraus...auf Oszi sind es ca 7ms und der controller sagt 0,6 ms... was
noch seltsamer ist, das er auch sehr oft, bei hohen frequenzen 700Hz 0
als zählwert ausgiebt...geht ja gar nicht...
kennt sich jemand damit aus...hab auch schon überall im netzt
gesucht...finde aber nix.
was mach ich falsch??
Danke!