Hi,
Ich benutze als externe taktquelle einen 16MHZ Quarz. Darauf muss ich mich verlassen, dass der genau ist...
Ich habe mal meinen bisherigen Code reingestellt:
Code:
$regfile = "m8def.dat"
$crystal = 16000000
Declare Sub Fuenf()
Declare Function Tastenabfrage() As Byte
Dim A As Byte
Dim B As Byte
Dim Taste As Byte
Dim Ws As Word
Dim Adc_ohne_taste As Word
Motorport Alias Portd
Config Adc = Single , Prescaler = Auto , Reference = Off
Ddrd = &B10100110
Ddrc = &B00000000
Portc.0 = 1
Portd.1 = 0 'Enable
Portd.7 = 0 'CW
Portd.5 = 1 'Halbschritt
start adc
Adc_ohne_taste = Getadc(0) 'Messe Spannung wenn keine Taste gedrückt ist
Adc_ohne_taste = Adc_ohne_taste - 2
Do
Taste = Tastenabfrage()
If Taste <> 0 Then
Select Case Taste
Case 1
Call Fuenf
End Select
End If
Waitms 100
Loop
End
Function Tastenabfrage() As Byte
Tastenabfrage = 0
Ws = Getadc(0)
If Ws < Adc_ohne_taste Then
Select Case Ws
Case 330 To 370
Tastenabfrage = 1
End Select
End If
End Function
Sub Fuenf()
For B = 1 To 5
For A = 1 To 96
Portd.1 = 1
Portd.2 = 1
Waitms 10
Portd.2 = 0
Next A
Waitms 500
Next B
Motorport = 0
End Sub
Kann man das so durchgehen lassen?
Timo
Lesezeichen