hallo!
Ich habe zur Zeit dieses Programm auf dem Chip:
Nun steht in der ersten Zeile auf dem LCD "Zahl eingeben" dann wird der blinkende Cursor in die Zeile darunter gesetzt.Code:Declare Sub Taste1() Declare Sub Taste2() Declare Function Tastenabfrage() As Byte Declare Sub Taste3() Declare Sub Taste5() Declare Sub Taste6() Declare Sub Willkommen() $regfile = "m8def.dat" Dim Ws As Word Dim Adc_ohne_taste As Word $crystal = 16000000 $baud = 9600 Config Adc = Single , Prescaler = Auto Config Pinc.0 = Input Portc.0 = 1 Start Adc Dim Taste As Byte Config Pind.6 = Output Portd.6 = 0 Dim ___lcdno As Bit Config Lcdpin = Pin , E = Portc.3 , Rs = Portc.2 , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 Config Lcd = 16 * 4 Adc_ohne_taste = Getadc(0) Call Willkommen Do Taste = Tastenabfrage() If Taste <> 0 Then Select Case Taste Case 1 Call Taste1 Case 2 Call Taste2 Case 3 Call Taste3 End Select End If 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 Case 260 To 300 Tastenabfrage = 2 Case 100 To 130 Tastenabfrage = 3 End Select End If End Function Sub Taste1() Sound Portb.0 , 500 , 300 Lcd "1" End Sub Sub Taste2() Sound Portb.0 , 500 , 300 Initlcd Lcd "2" End Sub Sub Taste3() Sound Portb.0 , 600 , 400 Initlcd Lcd "3" End Sub Sub Taste5() ___lcdno = 0 Initlcd Cursor Off Cls Home Lcd "Taste5" End Sub Sub Willkommen() ___lcdno = 0 Initlcd Cursor Off Cls Locate 1 , 1 Lcd "Zahl eingeben:" Lowerline Cursor Blink End Sub Sub Taste6() Initlcd Cursor Off Cls Locate 1 , 1 Lcd "Taste6" End Sub
Wenn ich jetzt die Taster 1-3 drücke klappt ja alles bis auf das, dass er nach x belibiegen eingegebenen Zeichen aus der oberen einen Teil der Zeichen löscht und in eine andere Zeile setzt.
Was ich möchte ist, dass ich erstmal mit den Tastern eine durchgehende,fortlaufende Zahlenreihe eingeben kann.
Gibt es da einen best. Befehl?
was ist daran falsch?
mfg
Timo
Danke







Zitieren

Lesezeichen