Probiers mal prinzipiell damit, habs kurz umgeschrieben, muß man aber anpassen. Die Freuenz ist auch nicht linear da T = 1 / f ist. Kannst aber anders schreiben und es ist auch linear.

Code:
$RegFile = "m8def.dat"   ' ATMEGA8L8
$Crystal = 3686400       ' 3,68MHz intern

'  Port AVR:       Stepperantrieb
'  ---------       ---------
'
'   PD2 ---------> Enable
'   PD3 ---------> Dir
'   PD4 ---------> Clock
'

Stpk03Enable  Alias PortD.2
Stpk03Dir     Alias PortD.3
Stpk03Clock   Alias PortD.4
Taster1       Alias PinD.6
Taster2       Alias PinD.7

DDRD  = &B00011100
PortD = &B11000000

Dim i         As Integer
Dim k         As Integer

'1,8,64,256,1024
Config Timer0 = Timer , Prescale = 1024
Enable Timer0

On Timer0 DoStep

Enable Interrupts

Stpk03Enable = 1
Stpk03Dir = 1

i = 0
Do
  Do
    i = i + 1
    k = i
    WaitMs 50
  Loop Until k = 255

  WaitMs 5000

  Do
    i = i - 1
    k = i
    WaitMs 50
  Loop Until i = 0

  WaitMs 10000
Loop

DoStep:
  If k = 0 Then
    Stpk03Enable = 0
  Else
    Stpk03Enable = 1
  End If
  Timer0 = k
  Stpk03Clock = Not Stpk03Clock
  Return
Grüße Wolfgang