Hab mir da schnell was zusammen geschustert. Läuft alles eigentlich gar nicht schlecht,
nur beim drücken der Taste1 zählt das Display wie verrückt durch und bei Taste2 geht nur einmal zurück.
Woran könnte das liegen?
Vielleicht mal das Programm durchschauen ob Ihr einen Fehler findet?

Ein Fehler muss ja da sein, sonst würde es wie gewünscht funktionieren

Code:
'---------------------------------------------------------------------------
'Titel         : LCD-Grundlagen Testen
'Datei         : Grundlagen_LCD ansteuern
'---------------------------------------------------------------------------
'Funktion      : Textausgabe an LCD
'Schaltung     : Erweiterungsplatine "LCD" an Buchsenleiste
'              :
'              :
'---------------------------------------------------------------------------
'Display-      :
'controller    : KS0070, HD44100 kompatibel
'---------------------------------------------------------------------------
'Prozessor     : ATmega8 3,6864MHz
'Sprache       : Bascom-AVR
'Datum         : 04.11.2008
'Version       : 1.0
'Autor         : Stefan Merk
'---------------------------------------------------------------------------
' hier Initialisierung durchführen
'---------------------------------------------------------------------------
$regfile = "m8def.dat"
$crystal = 3686400
$hwstack = 32
$swstack = 10
$framesize = 60

Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 ,       ' Config können
Config Lcdpin = Pin , Db6 = Portd.6 , Db7 = Portd.7 ,       ' auch in einer
Config Lcdpin = Pin , E = Portd.3 , Rs = Portd.2            ' Zeile stehen
Config Lcd = 16 * 2                                         ' LCD mit 16Zeichen
                                                             ' je Zeile, 2 Zeilig
Config Portd = Output
Config Pinb.0 = Input
Config Pinb.1 = Input

'---------------------------------------------------------------------------
'Hier Alias inizialisieren
Taster1 Alias Pinb.0
Taster2 Alias Pinb.1
'---------------------------------------------------------------------------
'Hier PullUp inizialisieren
Portb.0 = 1
Portb.1 = 1
'---------------------------------------------------------------------------
'Hier Variable inizialisieren
Dim A As Integer
Dim B As Integer
A = 1
B = 1
'---------------------------------------------------------------------------
'Hier Unterprogramme Declarieren
Declare Sub Count_up
Declare Sub Count_down
Declare Sub Weiter
'---------------------------------------------------------------------------
'Tasten entprellen
Config Debounce = 30
Debounce Pinb.0 , 0 , Count_up , Sub
Debounce Pinb.1 , 0 , Count_down , Sub

'---------------------------------------------------------------------------

Cls
Cursor Off
Upperline
Lcd "Counter"
Lowerline
Lcd "T1=Up; T2=Down"
Wait 1
Cls
Upperline
Lcd "T1=Up; T2=Down"
Wait 1

Do
Start:
If Taster1 = 0 Then
Gosub Count_up
Else
Gosub Weiter
End If

If Taster2 = 0 Then
Gosub Count_down
Else
Gosub Weiter
End If

Loop
End

Sub Count_up:
A = A + 1
Locate 2 , 1
Lcd A
End Sub

Sub Count_down:
B = A - 1
Locate 2 , 1
Lcd B
End Sub

Sub Weiter:
Locate 2 , 8
Lcd "Weiter"
End Sub