Hallo tohrr
in deinem Fall ändere mal Timer0 = Lo/Hi auf Waitms Lo
If Phase = True Then
Step1 = 1
Waitms Lo
Phase = False
Else
Step1 = 0
Waitms Lo
Phase = True
End If
'###########################################
und das kleine Programm lässt deinen Motor 100 Step's rechts laufen macht dann 2 Sek Pause und dann wieder 100 Step's links, mit Timer1 = 55000 kannst du die Geschwindigkeit ändern z.B Timer1 = 40000 ( Langsamer )
Code:
$regfile = "m16def.dat"
$crystal = 7372800
$baud = 19200
Config Portb = Output
Const True = 1
Const False = 0
Dim M As Byte , M1 As Byte , D As Byte , S As Byte , S1 As Long , S2 As Long
Dim Hi As Byte , Lo As Byte , Phase As Bit
Config Timer1 = Timer , Prescale = 64
Step1 Alias Portb.1
D1 Alias Portb.0
Enable Timer1
Enable Interrupts
On Timer1 Timer1_isr
S = 100
M1 = 1
D = 0
'##################################################################################### ' Hauptschleife
Do
If S = 0 Then
Wait 2
Toggle Portb.0
S = 100
End If
Loop
'###################################################################################### 'timer1 interrupt
Timer1_isr:
Timer1 = 55000
If S > 0 Then
Toggle Portb.1
S = S - 1
End If
Return
Lesezeichen