-
-
*hust* ich habe keine ahnung wie ich das mache (neuling auf dem gebiet)
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000 'Quarzfrequenz
$baud = 38400
'Funktionen und Unterprogramme
Declare Sub Motorzu()
Declare Sub Motorauf()
Declare Function Tastenabfrage() As Byte
'Motorenkonfiguration
Config Pinc.6 = Output
Config Pinc.7 = Output
Config Pind.4 = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pind.5 = Output
Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage
Config Pina.7 = Input 'Für Tastenabfrage
Porta.7 = 1
Dim Taste As Byte
Dim I As Integer
'Hauptprogramm
Do
Taste = Tastenabfrage()
If Taste <> 0 Then
Select Case Taste
Case 1
Wait 300
Sound Portd.7 , 150 , 600
Call Motorzu
Waitms 2000
Sound Portd.7 , 600 , 600
End Select
End If
Waitms 100
Loop
End
Function Tastenabfrage() As Byte
Local Ws As Word
Tastenabfrage = 0
Start Adc
Ws = Getadc(7)
' Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws
If Ws < 500 Then
Select Case Ws
Case 400 To 450
Tastenabfrage = 1
Case 330 To 380
Tastenabfrage = 2
Case 260 To 305
Tastenabfrage = 3
Case 180 To 220
Tastenabfrage = 4
Case 90 To 130
Tastenabfrage = 5
' Case Else
' Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws
End Select
End If
End Function
Sub Motorauf()
Portd.4 = 1
Portd.5 = 1
I = 0
Do 'Drehen gegen Uhrzeigersinn
'Schritt 1
Portc.6 = 1 'Spule 1
Portc.7 = 0
Portb.0 = 1 'Spule 2
Portb.1 = 0
Waitms 5
'Schritt 2
Portc.6 = 1 'Spule 1
Portc.7 = 0
Portb.0 = 0 'Spule 2
Portb.1 = 1
Waitms 5
'Schritt 3
Portc.6 = 0 'Spule 1
Portc.7 = 1
Portb.0 = 0 'Spule 2
Portb.1 = 1
Waitms 5
'Schritt 4
Portc.6 = 0 'Spule 1
Portc.7 = 1
Portb.0 = 1 'Spule 2
Portb.1 = 0
Waitms 5
I = I + 1
Loop Until I = 354 'Laufzeit
Portd.4 = 0
Portd.5 = 0
End Sub
Sub Motorzu()
Portd.4 = 1
Portd.5 = 1
I = 0
Do 'Drehen im Uhrzeigersinn
'Schritt 1
Portc.6 = 0 'Spule 1
Portc.7 = 1
Portb.0 = 1 'Spule 2
Portb.1 = 0
Waitms 5
'Schritt 2
Portc.6 = 0 'Spule 1
Portc.7 = 1
Portb.0 = 0 'Spule 2
Portb.1 = 1
Waitms 5
'Schritt 3
Portc.6 = 1 'Spule 1
Portc.7 = 0
Portb.0 = 0 'Spule 2
Portb.1 = 1
Waitms 5
'Schritt 4
Portc.6 = 1 'Spule 1
Portc.7 = 0
Portb.0 = 1 'Spule 2
Portb.1 = 0
Waitms 5
I = I + 1
Loop Until I = 354
Portd.4 = 0
Portd.5 = 0
End Sub
das is mein Prog ( hab n Test Prog genommen und angepasst wie ichs brauche) aber ich hab echt 0 ahnung ....
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen