BASCOM und Pollin LCD Display

Gast #420879
Lesenswert?

Hallo, ich habe mir bei Pollin ein LCD Display gekauft. (HD44780, 4x27
Zeichen, kennt vermutlich der ein oder andere)

Jetzt habe ich ein Programmierproblem mit Bascom. Dort lässt sich doch
der Anschluss frei konfigurieren oder muss ich mich an irgendwelche
konkreten Pinbelegungen halten?

Ich hatte mir folgendes Schema überlegt und danach auch meine Schaltung
ausgelegt: (4-Bit-Modus)

RS --> PinB.0
E1 --> PinC.3
E2 --> PinC.2
D4 --> PinB.5
D5 --> PinB.4
D6 --> PinB.3
D7 --> PinB.2

So habe ich das Ganze verdrahtet und mein Programmcode sieht nun wie
folgt aus:

$regfile = "m8def.dat"
$crystal = 4000000

'Einbindung der LCD-Bibliothek für ein 2-Prozessor-Display
 $lib "lcd4e2.lbx"

'Bascom kennt keine Display mit 27 * 4 Zeichen, daher 40 * 4
verwenden
 Config Lcd = 40 * 4

Config Lcdbus = 4
Config Lcdmode = Port

'man achte auf die Ergänzung E2
 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 ,
Db7 = Portb.2 , E = Portc.3 , E2 = Portc.2 , Rs = Portb.0

' Systemvariable der LCD-Bibliothek (wichtig, bloß nicht ändern)
   Dim ___lcde As Byte



Main:

' wählt die beiden oberen Zeilen aus
 ___lcde = 0

' löscht die beiden oberen Zeilen
   Cls
' wählt die obere Zeile aus
   Upperline
' schreibt in die erste Zeile an Position 3
   Locate 1 , 3
' den Text in Anführungszeichen
   Lcd "Zeile 1"
' wählt die zweite Zeile aus
   Lowerline
' schreibt in die zweite Zeile an Position 2
   Locate 2 , 2
' in diesem Fall den Inhalt der Variablem mit dem Namen Variable
   Lcd "Zeile 2"
' unterdrückt den Cursor
   Cursor Off

' wählt die beiden unteren Zeilen aus
   ___lcde = 1
   Waitms 100
   Cls
   Thirdline
   Locate 1 , 1
   Lcd "Zeile 3"
   Fourthline
   Locate 2 , 1
   Lcd "Zeile 4"
   Cursor Off

Goto Main
End
Gast #420884
Lesenswert?

Hi!
Hast du was rausgefunden??? Bei mir geht das auch nicht!
Mein Code sieht erstmal so aus:

$regfile = "m16def.dat"
$crystal = 10000000

 $lib "lcd4e2.lbx"


 Config Lcd = 20 * 4

 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 ,
Db7 = Portb.3 , E = Portb.5 , E2 = Portb.6 , Rs = Portb.4

 Dim ___lcde As Byte

 ___lcde = 0
 Cls
 Locate 1 , 1
 Lcd "zeile 1"

Funktioniert nicht! :( Alles richtig verlötet.. ans Port B
Weiss jemand warum?
Gast #422515
Lesenswert?

Hallo,

versuche mal bei Config Lcd 40*4 und initialisiere jede Displayhälfte 
einzeln!

Wenn das noch immer nicht funzt, kann ich dir mal meinen Code posten, 
der bei mir bisher anstandslos funktioniert.

Gruß,
Christian
Gast #432030
Lesenswert?

Nun habe ich endlich mein LCD-Modul von Pollin erhalten, und X-Mal die 
Anschlüsse durchgemessen.
Alles korrekt verbunden.
STK500 PortB --> LCD
8515 und 90S2313 mit dem LCD Programm beschrieben. Nach dem 
Programmieren erscheinen meist die ersten beiden Zeilen wie es im Prog 
steht.
Zeile 3 und 4 erscheinen nach dem löschen des CLS.
Nach einem Reset oder nach Ein- und Ausschalten verschieben sich die 
Inhalte oder es werden Buchstaben durch andere Zeichen ersetzt.

Bei einem Programm von mir in dem ich nur Wörter in die vier Zeilen 
setze ist es ähnlich.
Und nocheinmal habe ich die verbindungen nachgemessen. Die stimmen 100%.

Jetzt habe ich das Programm vom RoboterNetz für das 4 Zeilige Modul 
aufgespielt. Die 4 Zeilen werden richtig dargestellt, dann jedoch 
wechseln die Zeileninhalte.Zum Beispiel Zeile 4 in Zeile 3. Jedoch kann 
mann kein System erkennen. Das LCD zeigt einfach was es will. Ab und zu 
sind wirre Zeichen dabei.

Danach habe ich den Ausgangsport gewechselt. Das Ergebniss ist dasselbe.
Gast #432049
Lesenswert?

Genau so sieht es bei mir auch aus. Am PC über LPT lässt sich das 
DIsplay wunderbar betreiben, doch über meinen ATmega8 und Bascom bekomme 
ich nur komische Zeichen in den Zeilen dargestellt. Alles geht drunter 
und drüber...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren