PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Drehzahl anzeigen



michi73
03.05.2005, 19:01
Kann mir einer Helfen, ich habe folgendes Problem:

Ich möchte den Timer1 als Zähler für Impulse nutzen und danach die Impulse umrechnen als Drehzahl. Dies Klappt auch schon sehr gut.

Aber wie kann ich den Timer1 bzw die Interrupts wieder stoppen um ein neuen Teil im Programm ablaufen zu lassen ohne das er weiter in den Interrupts springt?

Ich folgendes Programm geschrieben:


'Programm zur Drehzahlerfassung mit Timer1 zum Zählen
'Ausgabe auf der seriellen Schnittstelle (Frequenz)
'----------------------------------------------------------
$regfile = "m8def.dat" 'ATmega8-Deklarationen
$crystal = 3686400
$baud = 9600 'Quarz: 3,6864 MHz


Ddrd = &B11000000
Portd.5 = 1
Portd.2 = 1
Mcucr = &B00001010
Gicr = &B11000000


Dim A As Integer
Dim B As Long

A = 0
B = 0

On Timer1 Ontimer1
On Int0 Zaehlen
Config Timer1 = Timer , Prescale = 256
Enable Timer1
Enable Interrupts
'----------------------------------------------------------
Do





Loop
'----------------------------------------------------------
Zaehlen:

A = A + 1
Return


Ontimer1:
Print " Gezaehlte Impulse= ";
Print A;
Print " errechnete Geschwindigkeit(U/min-1)=";
B = A * 60
Print B;
Timer1 = 51143
A = 0


Return


Michael O:)

CR-Racing
04.05.2005, 06:51
Versuchs mal mit DISABLE "Interrupt"

Gruß CR

michi73
04.05.2005, 13:36
schönen Dank werde ich mal Probieren!!