Hallo,
Ich beschäftige mich gerade damit, ein Programm zu schreiben, welches einen Schrittmotor bewegen kann.
Dieses Programm besteht daraus, dass auf einem LCD erst ein Begrüßungsbildschirm zu sehen ist, dann eine Erklärungen, was der Benutzer alles eingeben kann und dann sollte sich der Schrittmotor je nach Eingabe drehen.
Möglich sind bis jetzt nur die Zahlen 1 und 2, da ich nur 2 Taster angeschlossen habe. Dazu kommt noch ein dritter, der als Bestätigungstaster dient.
Meine Frage ist nun:
Der Benutzer hat die Möglichkeit 1,2,11,12,21,22 einzugeben. Wie kann ich nun z.B in eine Variable speichern, wie oft pind.0(taster1) oder pind.1(taster2) gedrückt wurde.
Die Variable taucht später in der passenden For/next schleife auf, die dann den Moter 1 oder 2 oder 11 oder 12 oder 21 oder 22 dreht.
Wie muss ich das umsetzen? Ich komm irgendwie nicht mehr weiter...
Hier mein bisheriger code:
Code:$regfile = "m8def.dat" $crystal = 16000000 Declare Sub Sub1 Declare Sub Sub2 Declare Sub Enter Declare Sub Startlcd Declare Sub Erklaerung Declare Sub Eingabe Declare Sub Warnung Dim Lcdxpos As Byte Config Lcdpin = Pin , E = Portb.4 , Rs = Portb.3 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 Config Lcd = 16 * 4 Config Lcdbus = 4 Ddrd = &B11110000 Portd = &B00100111 Label1: Cls Call Startlcd Lcdxpos = 0 Do Debounce Pind.0 , 0 , Sub1 , Sub Debounce Pind.1 , 0 , Sub2 , Sub Debounce Pind.2 , 0 , Enter , Sub If Lcdxpos > 2 Then Gosub Warnung End If Loop Sub Startlcd Cls Locate 1 , 1 Lcd "Willkommen bei:" Locate 3 , 1 Lcd "*One-Two-Motion*" Cursor Off Wait 2 Cls Gosub Erklaerung End Sub Sub Sub1 Incr Lcdxpos Locate 3 , Lcdxpos Lcd "1" End Sub Sub Sub2 Incr Lcdxpos Locate 3 , Lcdxpos Lcd "2" End Sub Sub Enter End Sub Sub Erklaerung Cls Locate 1 , 1 Lcd "Erklaerung:" Locate 2 , 1 Lcd "Taster1 = 1" Locate 3 , 1 Lcd "Taster2 = 2" Locate 4 , 1 Lcd "Bestaetigen = B" Cursor Off Wait 4 Cls Locate 1 , 1 Lcd "Das kannst du" Locate 2 , 1 Lcd "eingeben:" Locate 3 , 1 Lcd "1,11,12,2,21,22" Wait 5 Cls Call Eingabe End Sub Sub Eingabe Locate 1 , 1 Lcd "Wie viele Umdr.?" Locate 3 , 1 Cursor Blink End Sub Sub Warnung Cls Locate 2 , 1 Lcd "!!!Eingabe nicht" Locate 3 , 1 Lcd "moeglich!!!" Wait 1 Cls Goto Label1 End Sub
Vielen Dank
Timo







Zitieren

Lesezeichen