Hier mal der Code, der erst am anfang ist.................

Code:
$regfile "m16def.dat"
$crystal = 12000000


Config Graphlcd = 240 * 64 , Dataport = Portb , Controlport = Portd , Ce = 1 , Cd = 0 , Wr = 3 , Rd = 2 , Reset = 4 , Fs = 4 , Mode = 6

Config Timer1 = Timer , Prescale = 256
Deflcdchar 0 , 32 , 4 , 14 , 21 , 4 , 4 , 4 , 32
Deflcdchar 1 , 32 , 4 , 4 , 4 , 21 , 14 , 4 , 32
Deflcdchar 3 , 32 , 4 , 8 , 31 , 31 , 2 , 4 , 32

On Timer1 U_lade

Const Timervorgabe = 18661
Enable Timer1
Enable Interrupts

Dim Hauptmenue As Byte
Dim Ladestrom(4) As Word
Dim Entladestrom(4) As Word
Dim Erhaltungsladung(4) As Byte
Dim Ladeschacht As Byte
Dim Ladespannung(4) As Single
Dim X As Byte , Y As Byte , B As Byte
Dim Menue_y As Byte
Dim Sekunde As Word

For X = 1 To 4
   Ladestrom(x) = 500
   Entladestrom(x) = 100
   Erhaltungsladung(x) = 10
Next X

Hauptmenue:

Hauptmenue = 1
Menue_y = 1



Cls
Cursor Blink
Locate 1 , 1
Lcd "************ Akku Lader Pro ************"
Locate 2 , 1
Lcd "1 - Laden"
Locate 3 , 1
Lcd "2 - Entladen"
Locate 4 , 1
Lcd "3 - Erhaltungsladung"
Locate 5 , 1
Lcd "4 - Akku Formatieren"
Locate 6 , 1
Lcd "5 - Automatik"
Locate 7 , 1
Lcd "6 - Einstellungen"
Locate 8 , 1
Lcd "****************************************"


Do
Locate Y , 1

If Pinc.0 = 0 Then
   Menue_y = Menue_y + 1
      If Menue_y > 6 Then Menue_y = 6
      Gosub Warte
End If

If Pinc.1 = 0 Then
   Menue_y = Menue_y - 1
      If Menue_y < 1 Then Menue_y = 1
      Gosub Warte
End If
Y = Menue_y + 1

If Pinc.2 = 0 Then
   Select Case Menue_y
      Case 1 : Goto Laden
      Case 2 : Goto Entladen
      Case 3 : Goto Erhaltungsladung
      Case 4 : Goto Formatieren
      Case 5 : Goto Automatik
      Case 6 : Goto Einstellungen
   End Select
End If
Waitms 100

Loop

Laden:
Cls
Cursor Off
Locate 1 , 1
Lcd "Schacht1  Schacht2  Schacht3  Schacht4  "
Locate 3 , 1
Lcd "I=" ; Ladestrom(1) ; "mA"
Locate 3 , 11
Lcd "I=" ; Ladestrom(2) ; "mA"
Locate 3 , 21
Lcd "I=" ; Ladestrom(3) ; "mA"
Locate 3 , 31
Lcd "I=" ; Ladestrom(4) ; "mA"
Locate 4 , 1
Lcd "U=" ; Ladespannung(1) ; "V"
Locate 4 , 11
Lcd "U=" ; Ladespannung(2) ; "V"
Locate 4 , 21
Lcd "U=" ; Ladespannung(3) ; "V"
Locate 4 , 31
Lcd "U=" ; Ladespannung(4) ; "V"

Wait 5
Goto Hauptmenue

Entladen:
Cls
Locate 1 , 1
Lcd "************ Akkus Entladen ************"
Wait 3
Goto Hauptmenue

Erhaltungsladung:
Cls
Locate 1 , 1
Lcd "*********** Erhaltungsladung ***********"
Wait 3
Goto Hauptmenue

Formatieren:
Cls
Locate 1 , 1
Lcd "********** Akkus Formatieren ***********"
Wait 3
Goto Hauptmenue

Automatik:
Cls
Locate 1 , 1
Lcd "********** Automatik-Programm **********"
Wait 3
Goto Hauptmenue


Einstellungen:
Cls
X = 1

Locate 1 , 1
Lcd "************ Einstellungen ************"
Locate 3 , 1
Lcd "I-Laden 1 :" ; Ladestrom(1) ; "mA"
Locate 3 , 20
Lcd "I-Laden 2 :" ; Ladestrom(2) ; "mA"
Locate 4 , 1
Lcd "I-Laden 3 :" ; Ladestrom(3) ; "mA"
Locate 4 , 20
Lcd "I-Laden 4 :" ; Ladestrom(4) ; "mA"
Locate 5 , 1
Lcd "I-Entl. 1 :" ; Entladestrom(1) ; "mA"
Locate 5 , 20
Lcd "I-Entl. 2 :" ; Entladestrom(2) ; "mA"
Locate 6 , 1
Lcd "I-Entl. 3 :" ; Entladestrom(3) ; "mA"
Locate 6 , 20
Lcd "I-Entl. 4 :" ; Entladestrom(4) ; "mA"
Locate 7 , 1
Lcd "I-Erha. 1 :" ; Erhaltungsladung(1) ; "mA"
Locate 7 , 20
Lcd "I-Erha. 2 :" ; Erhaltungsladung(2) ; "mA"
Locate 8 , 1
Lcd "I-Erha. 3 :" ; Erhaltungsladung(3) ; "mA"
Locate 8 , 20
Lcd "I-Erha. 4 :" ; Erhaltungsladung(4) ; "mA"

Wait 5
Goto Hauptmenue






U_lade:
  Timer1 = Timervorgabe
  Incr Sekunde

Return

Warte:
If Pinc.0 = 0 Then Goto Warte
If Pinc.1 = 0 Then Goto Warte
Return

End                                                         'end program