Hoffe es hilft dir ein bisschen weiter.
bei steigender flanke an int0 (portb.0 beim mega12 wird 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