Hallo zusammen,
Ich suche ein Beispielprogramm, wie mit Bascom ein ganz normales LCD angesteuert wird (4 Bit).
Hab einen ATmega 8 und ein 2*20er.
Hats irgendwo im Netz ein Beispielprogramm?
Herzliche Grüsse
Mario
Druckbare Version
Hallo zusammen,
Ich suche ein Beispielprogramm, wie mit Bascom ein ganz normales LCD angesteuert wird (4 Bit).
Hab einen ATmega 8 und ein 2*20er.
Hats irgendwo im Netz ein Beispielprogramm?
Herzliche Grüsse
Mario
Guten Morgen,
guckst du hier: http://www.rowalt.de/mc/avr/avrboard/01/avrb01.htm
in der Zip Datei mit den Listings findest du für fast alles Beispiele.
Das Listing mit dem LCD Beispiel musst du dir raussuchen, dort ist aber dann auch die richtige Kontaktbelegung in den Kommentaren mitgeschrieben.
Ansonsten auch immer mal bei den Bascom Beispiellistings (LCD.BAS) vorbeischauen oder in der Hilfe.
Viel Erfolg
Paul
Ah, habs gefunden, in den Samples von Bascom!
Nur: Wo sag ich dem Ding, an welchem Port was hängt? Unter Optionen?
UNter Optionen oder du schreibst einfach das noch in dein Programm rein:
Config Lcd = 20 * 2 ' größe des LCDs
Config Lcdpin = Pin , E = Portc.4 , Rs = Portc.5 , Db7 = Portc.3 , Db6 = Portc.2 , Db5 = Portc.1 , Db4 = Portc.0 'pinbelegung
du musst nur noch die Lcdpins an deine eigenen anpassen.
Gruß Javik
Dank dir vielmals!!!!
Muss ich die Ports, an denen das LCD häng als Output oder Input definieren oder garnix?
Herzlichen Gruss
Mario
Hmm, irgendwo hats noch nen Wurm drin.
Hier ist mal mein Code:
$regfile="m8def.dat"
$crystal=1000000
$lib "lcd4.lbx"
Config LCD=20*2
Config Lcdpin= Pin, E=Portd.6, Rs= Portd.4, db7=Portd.3 , db6= Portd.2, Db5=Portd.1, db4=Portd.0
Cls
Lcd "test"
End
Könnt ihr den mal schnell angucken? Stimmt der so? Sollte es so gehen oder habe ich etwas vergessen?
Denn: Wenn ich Saft auf diese Schaltung gebe, dann Leuchtet das LCD und die obere Zeile erscheint als schwarzer Balken. Wenn ich den Kontrast hochdrehe, verschwindet der Balken.
Was ist los?
Herzliche Grüsse
Mario
Warum auch mal die Suche befragen oder auf das hören, was ein andere schon vorher gesagt haben???
Der schwarze Blaken ist der Poweron Selftest. as muss so. Wenn du den Kontrast hochdrehst, wird der Balken dunkler und die zweite Zeile auchetwas dunkel. Wenn du den Kontrast runter drehst, geht der Balken weg.
Der Code ist soweit richtig. Die LIB kannst du mal auskommentieren. Vielleicht geht es dann.
Alles weitere kann man nur sagen, wenn man die Schaltung sieht. Ob wirklich ein 1MHz Quarz dran ist, (sofern der Takt nicht von intern kommt) ob die Pins richtig angeschlossen sind.
Ich denke mal die anderen Tipps, R/W und D0-D3 auf Masse legen hast du beherzigt.
Ok, hab die Hardware nochmals neu verkabelt, war aber vorher schon richtig dran.
Vor Cls hab ich noch 10ms Pause eingelegt und die Lib draussen.
Jetzt gehts.
Gruss
Mario
Wenn die LCD-Pins entweder mit dem entsprechenden Config Befehl oder in den Options definiert sind, darf
nicht verwendet.Zitat:
$lib "lcd4.lbx"
BASCOM bietet mit dem Config Befehl bzw. den Options die Möglichkeit, jeden beliebigen Pin für das LCD verwenden.
Hat man die 4 Datenpins (db4-db7) auf den Pins 4-7 und die anderen Steuerleitungen E, RS im selben Port kann man anstattdessen die oben erwähnte Lib lcd4.lbx verwenden.
Diese LIB ist geschrieben für:
Wenn andere Ports benützt werden, bzw die RS oder E Leitung nicht übereinstimmt, muss diese LIB entsprechend geändert werden.Zitat:
;Rs = PortB.0
; E = PortB.2
;Db4 = PortB.4 the data bits must be in a nibble to save code
;Db5 = PortB.5
;Db6 = PortB.6
;Db7 = PortB.7
Ein entsprechende Erläuterung befindet sich im Kopf der Datei LCD4.LIB. Das Verwenden dieser Lib generiert einen optimierten Code für diesen Fall.
Für einen Neuling wird die Verwendung des Config-Befehls bzw. die Option Eintellung der einfachere und sichere Weg sein.
Hmm, wie kann man eine bestimmte Stelle im LCD löschen?
Wie heisst der Befehl?
Greets
Mario