Hoffe es hilft dir ein bisschen weiter.
bei steigender flanke an int0 (portb.0 beim mega12wird gezählt.
Code:$regfile = "m128def.dat" $crystal = 16000000 $baud = 9600 Config Timer1 = Timer , Prescale = 256 Ddrb = &B11111100 'set portb.0,portb.1, inputs. Portd = &B00000001 'interner Pullup an PD0 aktivieren Dim Puls As Integer Dim Actspeed As Integer On Timer1 Timer1int Timer1 = 3036 On Int1 Intr Config Int1 = Rising '=======PROGRAMM===================== Puls = 0 Actspeed = 0 Enable Interrupts Enable Int1 Enable Timer1 Start Timer1 Do 'Hier könnte deine ausgabe stehen (actpuls) Loop End Timer1int: Actpuls = Puls 'jetzt übertragen wir den wert Puls = 0 Timer1 = 3036 '0,3 Sekunde Return 'ende des timerinterrupts Intr: If Pind.1 = 1 Then incr Puls Enable Int1 Return







Zitieren

Lesezeichen