Luppi
06.04.2006, 00:00
Hallo
Hab heute ein 20*4 mit KS0076 Controller LCD zum laufen gebracht.
ich wollt mir nen Menü Basteln bei dem ich mit Taster 1 auswähle und mit taster 2 Bestätige.
Soweit bin ich gekommen.
'************************************************* *****
'Projekt: Auswahl Menü
'
'Prozessor: ATMega 8
'
'
'Hardware:
'LCD-Display an Port B 20*4 LCD Controller KS0076
'
'05.04.06 Thorsten
'
'************************************************* *****
'================================================= =====
'System-Einstellungen
'================================================= =====
'Definition für Mega 8
$regfile "m8def.dat"
'Angabe der Taktfrequenz (1Mhz)
$crystal = 1000000
'Pin Config
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0
'================================================= =====
'Konfigurationen
'================================================= =====
'Angabe der Display-Größe
Config Lcd = 20 * 4
Dim A As Byte
'================================================= =====
'Konfigurationen Eingang
'================================================= =====
Config Portd.0 = Input 'Taster 1
Config Portd.1 = Input 'Taster 2
Config Portd.7 = Output 'Led 8 an Port D
Config Portd.6 = Output 'Led 7 an Port D
'================================================= =====
'Initialisierungen
'================================================= =====
Portd.0 = 1
Portd.1 = 1
Portd.6 = 1
Portd.7 = 1
'================================================= =====
'Hauptprogramm
'================================================= =====
'Den Cursor ausschalten
Cursor Off
'Text der ersten Zeile
If Pind.0 = 0 Then
Waitms 250
Cls
Locate 1 , 1
Lcd "Led 7"
'Text der zweiten Zeile
Locate 2 , 1
Lcd "Led 8"
Wait 1
Else
Cls
Cursor Off
Locate 1 , 1
Lcd "Led 7"
'Text der zweiten Zeile
Locate 2 , 1
Lcd "Led 8"
'Text der vierten Zeile
Locate 4 , 1
Lcd "Auswahl treffen"
Wait 1
End If
End
Wenn ich es so lasse tut sich gar nichts wenn ich den schalter umlege. Schreib ich den Code mit " DO" vor If und "LOOP" nach End if funktioniert es zwar aber mein Display flaker im Sekundentakt.
Dann komme ich immer noch nicht weiter mit den 2 Tastern. Ich wollte es so haben das ich mit Taster 1 zwischen Led 7 und Led 8 auswählen kann ( vielleicht so das sich durch die auswahl der Text der Led inventiert)und mit Taster 2 dann die Auswahl bestätige und die jeweilige Led leuchtet. Ich komm da aber absolut nicht weiter.
Kann da einer helfen.?
Hab heute ein 20*4 mit KS0076 Controller LCD zum laufen gebracht.
ich wollt mir nen Menü Basteln bei dem ich mit Taster 1 auswähle und mit taster 2 Bestätige.
Soweit bin ich gekommen.
'************************************************* *****
'Projekt: Auswahl Menü
'
'Prozessor: ATMega 8
'
'
'Hardware:
'LCD-Display an Port B 20*4 LCD Controller KS0076
'
'05.04.06 Thorsten
'
'************************************************* *****
'================================================= =====
'System-Einstellungen
'================================================= =====
'Definition für Mega 8
$regfile "m8def.dat"
'Angabe der Taktfrequenz (1Mhz)
$crystal = 1000000
'Pin Config
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0
'================================================= =====
'Konfigurationen
'================================================= =====
'Angabe der Display-Größe
Config Lcd = 20 * 4
Dim A As Byte
'================================================= =====
'Konfigurationen Eingang
'================================================= =====
Config Portd.0 = Input 'Taster 1
Config Portd.1 = Input 'Taster 2
Config Portd.7 = Output 'Led 8 an Port D
Config Portd.6 = Output 'Led 7 an Port D
'================================================= =====
'Initialisierungen
'================================================= =====
Portd.0 = 1
Portd.1 = 1
Portd.6 = 1
Portd.7 = 1
'================================================= =====
'Hauptprogramm
'================================================= =====
'Den Cursor ausschalten
Cursor Off
'Text der ersten Zeile
If Pind.0 = 0 Then
Waitms 250
Cls
Locate 1 , 1
Lcd "Led 7"
'Text der zweiten Zeile
Locate 2 , 1
Lcd "Led 8"
Wait 1
Else
Cls
Cursor Off
Locate 1 , 1
Lcd "Led 7"
'Text der zweiten Zeile
Locate 2 , 1
Lcd "Led 8"
'Text der vierten Zeile
Locate 4 , 1
Lcd "Auswahl treffen"
Wait 1
End If
End
Wenn ich es so lasse tut sich gar nichts wenn ich den schalter umlege. Schreib ich den Code mit " DO" vor If und "LOOP" nach End if funktioniert es zwar aber mein Display flaker im Sekundentakt.
Dann komme ich immer noch nicht weiter mit den 2 Tastern. Ich wollte es so haben das ich mit Taster 1 zwischen Led 7 und Led 8 auswählen kann ( vielleicht so das sich durch die auswahl der Text der Led inventiert)und mit Taster 2 dann die Auswahl bestätige und die jeweilige Led leuchtet. Ich komm da aber absolut nicht weiter.
Kann da einer helfen.?