LCDs und GLCDs anschließen und ansteuern (BASCOM)

Kurios - im Simulator sehe ich die Anzeige nur richtig, wenn ich.....

Hallo Michael!

Vergiss den Simulator dafür!!!

Schreib dein Programm so, dass es nur die echte Hardware ansteuert!

Wenn du die Änderungen mit der seriellen Verbindung und dem "$sim" gemacht hast, sieht es schlüssig aus.

Was macht denn dein Kontrast?
Kannst du den voll aufdrehen? Ist auf dem Bild nicht mal andeutungsweise zu sehen.

Prüf einfach alles noch mal nach....
Ist bestimmt nur ein kleiner Fehler, der dich gerade ärgert. ;)

Was BASCOM betrifft....
Ich nehme die Einstellungen für die Pins des Display nur im Programmcode vor.... und nicht noch mal extra in den BASCOM-Einstellungen.
Vielleicht schaust du da noch mal nach!
Manchmal hilft auch ein Blick in die Ergebnissliste nach dem Kompliervorgang. Drück einfach mal "Strg+W" und schau dir das Ergebnis an, ob es mit deinen Einstellungen übereinstimmt.

Kopf hoch, wird schon werden. ;)

Gruß,
Cassio
 
Hi Cassio,

jetzt mit Mega16, JTAG disabled. Nochmal alles geprüft. Drahtmässig alles i.O.
Ich habe es 1:1 nach Deinem Beispiel (#1) eingestellt.

Doch das kommt davon, wenn man sich so festbeisst. E2/PORTC.4 wird im Report (kein Error) gar nicht aufgelistet!!!:confused::mad:.
Was ist das jetzt wieder für ein Sch...?

Habe gerade die aktuelle BASCOM- Version installiert - das LCD bleibt dunkel.


Grüsse,

Michael
 
Cassiooooooooooooooooo............
 
Hi Michael!

Sorry... aber schrei doch nicht gleich so laut! ;)
Hatte heute einiges zu erledigen (du erinnerst dich an meine Frage wegen der Datensicherung ? ;) ) !
Nun ist aber alles wieder hübsch!

Zurück zu deinem Thema:
Das der E2-Port nicht im Report steht ist bei mir auch so!
Mach dir darüber also keine Gedanken. ;)

Wenn sonst überhaupt die richtigen Ports angezeigt werden dann können wir wenigstens ausschließen, dass nicht irgend welche alten Eingaben in BASCOM schuld an deinem Problem sind. :)

Tja und nun?

Du hättest den Mega8 ruhig weiter benutzen können!
Das Thema hatten wir hier mit Dino doch schon mal. ;)
Am Ende war es auch nur eine "falsche" Belegung der Anschlüsse!

Was macht denn nun dein Kontrast?
Kannst du den (ggf. auch ohne weitere Anschlüsse zum Mega16 bzw. Mega8) einstellen?
Wenn du ohne Mikrocontroller den Kontrast voll aufdrehst, dann musst du alle 27 Segmente der ersten und dritten Zeile sehen können.
Zeile zwei und vier zeigen sich bei dem Test aber nicht..... und das ist auch OK so!

Wenn das aber geht, dann schauen wir mal nach der nächsten Möglichkeit! ;)

Wird schon werden!

Gruß,
Cassio
 
Hi Cassio,

war doch nur ein Hilferuf, kein Drängeln:).

Der Kontrast geht gar nicht. Und noch einmal: warum ist der auf der LCD- Platine mit Vcc verbunden? Da lässt sich doch nichts regeln. Und dass gleich beide defekt sein könnten, glaube ich nicht.

Das Einbinden der "lcd4e2.lbx" brachte auch keinen Erfolg. In BASCOM ist unter Optionen --> Compiler --> LCD auch keine Box für E2.

Hier nochmal der aktuelle Code:



CodeBox BASCOM

'____________________________________________________________________
'
'Name : LCD_27x4.bas
'Autor : ACVision (c) 2006 - 2010, M.Gewohn
'Funktion : LCD - Test: WINTEK WD C2704M-1HNN (27 x 4) mit 2. HD44780
'µC : Atmega16 - 16
'____________________________________________________________________
'
$regfile = "m16def.dat"
$crystal = 8000000
'$baud = 38400
$hwstack = 40
$swstack = 20
$framesize = 40
'____________________________________________________________________
'_____ Compiler- Direktriven/ LIB's einbinden ______________________________
'
'$sim
'$lcd = &HC000
'$lcdrs = &H8000
$lib "lcd4e2.LBX"
'____________________________________________________________________
'_____ Ports definieren _________________________________________________
'
DDRA = &B0000_0001 ' PortB - Eingang 'A.0 = LED
portA = &B1111_1111 ' Pullups aktiviert
'
'DDRB = &B0000_0000 ' PortB - Eingang
'portb = &B1111_1111 ' Pullups aktiviert
'
DDRC = &B1111_1111 ' PortC - Ausgang
PORTC = &B0000_0000 ' Pullups deaktiviert
'
'DDRD = &B1111_1111 ' PortD = Ausgang
'portd = &B0000_0000 ' Pullups deaktiviert'
'____________________________________________________________________
'_____ Variablen - Subroutinen - Label ____________________________________
'
Dim ___lcdno as byte , ___lcde as byte
'____________________________________________________________________
'_____ Pins zuweisen __________________________________________________
'
Config Lcd = 40 * 4 '27 x 4
'Config Lcdpin = pin , Rs = portc.2 , E = portc.3 , E2 = portc.1 , DB4 = portc.4 , DB5 = portc.5 , DB6 = portc.6 , DB7 = portc.7
Config Lcdpin = pin , DB4 = Portc.0 , DB5 = Portc.1 , DB6 = Portc.2 , DB7 = Portc.3 , E = Portc.5 , E2 = Portc.4 , RS = Portc.6
'Config Lcdbus = 4
'
'____________________________________________________________________
'_____ Hauptprogramm ________________________________________________
'
'
'goto weiter
waitms 200
'
___lcdno = 0
Initlcd
cursor off
cls
waitms 200
'
___lcdno = 1
Initlcd
cursor off
cls
'
weiter:
waitms 200
'
do '
'
___lcdno = 0
locate 1 , 1
Lcd "Hallo AVR - Forum!"
locate 2 , 1
Lcd "Ich bin das WD-C2704M-1HNN"
'
___lcdno = 1
locate 1 , 1
Lcd "mit Taster von Pollin"
locate 2 , 1
Lcd "Grandpa @ AVR-Praxis"
'
toggle porta.0 'Lampe an - Atmel lebt
waitms 500
'
loop
End



Grüsse,

Michael
 
Hi Cassio,

war doch nur ein Hilferuf, kein Drängeln:).

Der Kontrast geht gar nicht. Und noch einmal: warum ist der auf der LCD- Platine mit Vcc verbunden? Da lässt sich doch nichts regeln. Und dass gleich beide defekt sein könnten, glaube ich nicht.

Hi Michael!

Nee nee, habe ich auch nicht als Drängeln aufgefasst! ;)


Ähm.... nix Kontrast? :eek: :hmmmm:

Vergiss den Programmcode und alles Andere erst mal!

Der Kontrast MUSS sich ohne Controller regeln lassen.
Wenn der nicht geht, musst du gar nicht erst weiter machen!

Wie jetzt, der ist mit Vcc verbunden? :hmmmm:
Nee, nix!
Pin 1 ist GND
Pin 2 ist Vcc
und Pin 3 ist Vo und NUR der Kontrasteingang!
Der hat keine direkte Verbindung zu Vcc!

Irgendwas kann da bei dir aber nicht stimmen.
Dann ist es auch plausibel, warum du nichts einstellen kannst und dein Display nichts anzeigt!

Prüf das bitte noch mal.....
Ich muss nun leider erst mal in die Falle, sonst rächt sich das morgen Früh beim Aufstehen. ;)

Wenn du also nicht schlafen kannst, dann such nach dem Problem mit dem Kontrast.... und lass den Programmcode solange in Ruhe!
Das klärt sich danach bestimmt von allein!

Gruß,
Cassio
 
Hi Cassio,

es ist genau so: An beiden LCD ist Vcc mit Vo verbunden! Wir sollten doch die gleichen Displays haben. Schau mal bitte auf die Rückseite. Dort siehst Du 4 Ziffern im 7-Segment- Look. Bei mir steht 9633. Das ist Woche 33 in 1996!!!
Daher wahrscheinlich der Preis von €4,95; gibt's immer noch bei Pollin.

Ich werde morgen auch diese beiden LCD mit der Lupe auf fehlerhafte Leiterbahnen untersuchen.


Grüsse,

Michael
 
Hi Cassio,

es ist genau so: An beiden LCD ist Vcc mit Vo verbunden!


Hi Michael!

Damit du nicht bis heute Abend warten musst.....
Hier mal auf die Schnelle zwei Bilder des Displays von hinten! ;)

Einmal die grobe Übersicht:
LCD27x4-hinten1.jpg

und noch einmal im Detail:
LCD27x4-hinten-detail.jpg

Wie du sicherlich erkennen kannst, sind die Pins 2 und 3 NICHT miteinander verbunden!

Sieht denn dein Display von hinten anders aus? :hmmmm:
Kann ich mir nicht vorstellen!


Bis heute Abend dann....
Cassio
 
Hi Cassio,
Sieht denn dein Display von hinten anders aus? :hmmmm:
nein. Die Verbindung ist gewollt. Aber dazu später mehr. Ich kann gar nicht verstehen, dass es so schwer ist, ein Display anzuschliessen.:rolleyes:

Ich hatte einfach die negative Kontrastspannung vergessen. Jetzt kann ich erstmal zwei Erfolge melden:

Das Powertip 20 x 4. Vo bei -2.5V:

powertip 1.jpg

Scheint defekt zu sein. Vielleicht kann ich es mit einem neuen Zeichensatz wiederbeleben. Hintergrundbeleuchtung über 5V extern, zieht gut 330mA.


Das Seiko LS 2432, 24 x 2. Vo = -0.3 bis 0V. Aus einem Telefon, einem alten Europa 10:

seiko 1.jpg



Bis später,

Michael
 
Hi Cassio,

nein. Die Verbindung ist gewollt. Aber dazu später mehr.


Hi Michael !

Wie jetzt?
Die Verbindung ist gewollt? :hmmmm:
Na, da bin ich aber nachher mal auf die Erklärung gespannt!


Wie ich sehe, laufen die anderen Beiden nun aber. :)
Schade, dass das eine Defekt zu sein scheint.
Wenn ich mir das Bild so ansehe dann wirkt es fast so, als wäre das Leitgummi verrutscht.
Bau es doch mal auseinander.... prüfe alles nach und setze es dann wieder zusammen. Vielleicht geht es dann ja wieder. ;)

Dann bis später...
Cassio
 
Hi Cassio,
Wenn ich mir das Bild so ansehe dann wirkt es fast so, als wäre das Leitgummi verrutscht.
Da könntest Du recht haben. Es befanden sich Partikel auf den Gummis und eins sass minimal längsseitig verrutscht. Vielleicht krieg ich's ja doch noch zur Anzeige.
Die Verbindung ist gewollt? :hmmmm:
Na, da bin ich aber nachher mal auf die Erklärung gespannt!
Keine Erklärung, war nur eine Vermutung. Gleich beide defekt? Die Leiterbahnen sind beim zweiten LCD i.O. bis sie in der Vergussmasse verschwinden. Sind die Pins 2 und 3 bei Deinen Displays getrennt?

Bei negativer Spannung kann ich bei -2.5V kurz die Curserzeile sehen. Jetzt habe ich +0.5V Kontrassspannung eingestellt. Ich sitze davor und sehe die beiden 1. Zeilen aufgefüllt. Wie geht's weiter?


Grüsse.

Michael
 
Bei negativer Spannung kann ich bei -2.5V kurz die Curserzeile sehen. Jetzt habe ich +0.5V Kontrassspannung eingestellt. Ich sitze davor und sehe die beiden 1. Zeilen aufgefüllt. Wie geht's weiter?

Hi Michael!

Wieso "negative Kontrastspannung" ? :hmmmm:

Das Display benötigt doch eine positive Kontrastspannung!!!

Wirf doch noch mal einen Blick auf meinen angehängten Schaltpan!
Dort ist nur ein 10k (oder 25k) Poti zwischen GND und Vcc eingebaut, dessen Schleiferkontakt auf Pin 3 (Vo) geht. Das ist alles !

27x4-LCD-Display-auf-Port-A.GIF

Wenn du nun aber die erste und dritte Zeile sehen kannst, dann geht es nun an den Code!
Nimm deinen Programmcode (ohne Libs und ähnliches), prüf noch mal die Ports und dann solltest du auch etwas lesen können. ;)

Gruß,
Cassio:ciao:
 
Hi Cassio,

Tataa - und sie dreht sich doch....

Die Steckerei ist asoluter M...Zum Schluss DB4 und 5 vertauscht und ein Draht in der Pfostenbuchse gebrochen. Das braucht also ganz schnell einen Adapter für's Steckbrett.

Gut, mein Lieber, danke für die Hilfe. Jetzt prüfst Du bitte noch Deine Pins 2 und 3 auf Durchgang - ich wette das...


Grüsse,

Michael
 
Hi Michael!

Na, also.... !

Hätten wir das also auch wieder mal geschafft! :)


Ich kann ja später mal die Pins 2 und 3 auf "Durchgang" prüfen.
Würde aber auch Wetten dass...... ;)

Gibt es denn auch noch ein Bild, vom geglückten Unterfangen? :p


Gruß,
Cassio
 
ja, einen Moment
 
Hi,

schnell und unscharf.

wintek 3.jpg

Die Balken lassen sich leider nicht ganz wegdrehen, ohne das die Schrift verblasst. Ist einwenig schwach.

Nun, nachdem doch noch alles Gut wurde, kann ich mich an die Montage und Auswertung der Taster machen. Entweder decodiere ich die sechs Leitungen auf dem Board oder per Software; würde natürlich 2 Pins sparen.


Grüsse,

Michael
 
Hi Michael!

So ists fein!
Der Lohn für das Grübeln.... ein Foto vom Erfolg! ;)

Eigentlich müssten sich die Zeichen aber noch etwas besser darstellen lassen.
Hast du ein 10k oder 25k Poti genommen?
Ich habe auch schon mit einem 50k gearbeitet..... ging auch problemlos.



Zur Zeit habe ich meine LED-Matrixanzeigen am Wickel....
Läuft bis jetzt alles zufriedenstellend.
Werde mich dann als nächstes um die Kommunikation der einzelnen Mega8 kümmern, damit die eingehenden Daten auch weiter gereicht werden können...... ähnlich einem Schieberegister.
Werde aber bald alles in meinem alten Thread beschreiben.


Wünsch dir aber nun erst mal viel Spaß mit dem 27x4 LCD !

Gruß,
Cassio
 
Hi,

ein 10K- Poti.

Auf die Matrix bin ich aber gespannt. Doch ob ich mir das antue...

Zum Basteln gibt's wie immer eine Menge. Im Verlauf der "Übungen" mit den LCD's habe ich zwei Bugs auf meinem Board festgestellt:
  • Mir viel vorhin ein, daß das Powertip eine Kontrastspannung >5V braucht. hat mein Board nicht. Muss ich also einen Extra_ ausgang zum Anstecken machen; 5 - 7V/1A regelbar oder so (Eingang ist 9 - 12V).
  • Dann - warum auch immer, kann ich nicht mehr sagen - habe ich die TxD/ RxD- Pins für Mega8/16 nicht herausgeführt. Ist aber auch nicht so tragisch. Die Anschlüsse kann ich "nachschiessen" und als Steckanschlüsse ebenfalls herausführen.
Grüsse,

Michael
 
Hi Cassio,

Frage an den Display- Profi: kann ich davon ausgehen, dass GLCD's immer max. 20 Anschlüsse haben?
Dann könnte ich nämlich meinen LCD- Adapter (Teil 1 der Erweiterungsplatine) um einen Wannenstecker erweitern. In der aktuellen Version (Doku später) kann ich alle Text- Displays sowohl mit einem als auch mit zwei Controllern drauf betreiben, den Kontrast in +/- sowie die die Hintergrundbeleuchtung einstellen. Dann hätte ich eine kleine Steck- Platine für (fast) alle Displays.


Grüsse,

Michael
 
Hi Michael!

Bei GLCDs kannst du eigentlich immer von 20 Pins ausgehen....
Es wäre also ratsam, deinen Displayadapter ein wenig umzurüsten.

Ich nutze auch immer ein paar selbstgebaute Adapter für die Displays und alle haben immer 20 Pins.
Die Ausnahme war bis jezt nur das 27x4 LCD mit 2 Pins.... weil es acht Taster mit auf der Platine hatte. ;)

Gruß,
Cassio
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)