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







Zitieren
Lesezeichen