Forum: Mikrocontroller und Digitale Elektronik LC Display Fehlersuche


von Befedo (Gast)


Lesenswert?

Hallo liebe community,

ich habe ein "kleines" Problem mit meinem LC Display.

Erstmal zum Aufbau:
Das Display 2x16 Zeilen, hängt an einem Atmega32, am Port.C. Wird im 
4Bit I/O Mode betrieben und ist so beschaltet 
[http://www.rn-wissen.de/images/6/6a/Lcdmodul_4bitbusy_schem.png]. Die 
Versorgungsspannung kommt von einem LM7805 und beträgt 4,88V. Der 
Kontrasst wird über ein 10k Poti eingestellt, kann zwischen 0 - 4,88V 
Liegen.

Software:
Verwendet wurde bisher die LCD-Libary von Peter Fleury 
[http://www.jump.to/fleury], mit welcher ich auch weiter arbeiten 
möchte. Sowie verschiedene header Dateien von RN-Wissen oder 
Microcontroller.net, jeweils auch ohne Erfolg.

Verhalten des Display´s:
-mit jedweder verwendeten header Datei bleibt das Diplay schwarz (der 
Displayhintergrund ist Standardmäßig schwarz, die Ziffern sollten blau 
sein)
-ändert man die Zuordnung der Pinouts im header File (Fleury) läuft der 
komplette Ablauf im Controller nicht mehr Ordnungsgemäß
"seltsamerweisse sind im headerfile Data0 bis Data3 dem highbyte am 
Display zugeordnet, ein tausch der Anschlüsse am Display brachte auch 
nichts"
-egal welche Spannung am Kontrasst Pin eingestellt wird, es bleibt 
schwarz

Danke für eure Hilfe

MfG Befedo

von Giuseppe G. (Firma: ACS) (gcrax)


Lesenswert?

Hallo Befedo.

Mit was für einer sprache arbeitest du denn?
und was genau möchtest du denn alles ausgeben?
vielleicht hätt ich was gutes für dich :-)
lg giuse

von Spess53 (Gast)


Lesenswert?

Hi

>Das Display 2x16 Zeilen, hängt an einem Atmega32, am Port.C.

JTAG ausgeschaltet?

MfG Spess

von Klaus W. (mfgkw)


Lesenswert?

Erstens liegt beim atmega32 auf Port C auch JTAG, was ggf. per Fuses
erst abzustellen wäre, zweitens ist deine Beschreibung etwas schwammig.
"läuft der komplette Ablauf im Controller nicht mehr Ordnungsgemäß"
kann viel heißen.


> seltsamerweisse sind im headerfile Data0 bis Data3 dem highbyte am
> Display zugeordnet

Es ist normal (bzw. zwingend), daß die 4 Datenbits im 4-Bit-Modus
an DB4 bis DB7 des Displays angeschlossen sind, falls du das meinst.

von Sepp (Gast)


Lesenswert?

Ist der Display Controller auch der Originale HD44780?
Da gibt es z.B. den KS0073, der als "nahezu 100% HD44780
kompatibel" angeboten wird.
Nur die Init-Routine ist etwas anders. Hier hilft NUR das
das Datenblatt des Kontrollers weiter, die Init-Kommandos
sind im DB gut beschrieben.

MfG

Sepp

von Turbotoni (Gast)


Lesenswert?

Bei Peter Fleury sind die datenleitungen an Pin 0-3 angeschlosssen, bei 
dir an Pin 4-7, und das zu ändern genügt es nicht, das nur im 
Header-File zu ändren, sondern es mus die gesammte ausgabe-routine 
geändert werden.
Oder du schliest die Datenleitungen auch an Pin 0-3 an.

MfG Turbotoni

von Befedo (Gast)


Lesenswert?

Hallo,

danke für die schnellen Antworten.
Also JTAG ist deaktiviert, mittels PonyProg ausgelesen. Das mit den 
Datenleitungen ist mir soweit klar, dass diese an die "höheren" 
Datenpins angeschlossen werden. Wird ja dann Nibble-weisse übertragen.

Das Display war auch schon an anderen Ports, auch ohne Erfolg.

Danke für eure Bemühungen...

MfG Befedo

von Hubert G. (hubertg)


Lesenswert?

In der Fleury-lib kannst du den Datenleitungen einen beliebigen Pin 
zuweisen.
Ebenso die Init-Korrektur für die KS0073 aktivieren.
Ich nehme mal an das du die Anpassungen in der lcd.h vorgenommen hast.

von Befedo (Gast)


Lesenswert?

Jap, Anpassungen sind geschehen.
1
#define XTAL 16000000
2
3
#define LCD_CONTROLLER_KS0073 0  
4
/**< Use 0 for HD44780 controller, 1 for KS0073 controller */
5
6
#define LCD_IO_MODE      1         
7
/**< 0: memory mapped mode, 1: IO port mode */

Danke der Nachfrage^^

Ach ja, weil vorhin die Frage kahm. Das ganze ist in C, was schon an den 
Fornulierungen a lá Header Dateien zu erkennen ist.

von Hubert G. (hubertg)


Lesenswert?

Die Datenleitung - Pin Zuordnung ist auch angepasst?

von Befedo (Gast)


Lesenswert?

Jap, seltsam ist nur wenn ich da was in der Zuordnung vertausche...
1
#define LCD_PORT         PORTC        /**< port for the LCD lines   */
2
#define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
3
#define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
4
#define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
5
#define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 3 */
6
#define LCD_DATA0_PIN    4            /**< pin for 4bit data bit 0  */
7
#define LCD_DATA1_PIN    5            /**< pin for 4bit data bit 1  */
8
#define LCD_DATA2_PIN    6            /**< pin for 4bit data bit 2  */
9
#define LCD_DATA3_PIN    7            /**< pin for 4bit data bit 3  */
10
#define LCD_RS_PORT      LCD_PORT     /**< port for RS line         */
11
#define LCD_RS_PIN       3            /**< pin  for RS line         */
12
#define LCD_RW_PORT      LCD_PORT     /**< port for RW line         */
13
#define LCD_RW_PIN       2            /**< pin  for RW line         */
14
#define LCD_E_PORT       LCD_PORT     /**< port for Enable line     */
15
#define LCD_E_PIN        1            /**< pin  for Enable line     */

z.B. die Zuordnung der Datenleitungen, in abwärtiger Folge. DATA0_PIN 7, 
DATA1_PIN 6, usw. wenn ich es in der Zuleitung zum Display verdreht 
"hätte". Bleibt das Programm an der Stelle wo es das Display anspricht 
hängen.

Grüße, Befedo

von Hubert G. (hubertg)


Lesenswert?

Das Programm wartet auf das busy auf DB7, das kommt natürlich bei 
verdrehter Zuordnung nicht.
Schon mal das KS0073 auf 1 gesetzt.
Ich habe auch die Fleury-lib in Verwendung und keinerlei Probleme.

von John (Gast)


Lesenswert?

Hallo Befedo,
hast du die Hintergrundbeleuchtung angeschlossen? Bei vielen LCDs mit 
inverser Darstellung (helle Schrift auf dunklem Hintergrund) kann man 
ohne Hintergrundbeleuchtung nicht viel erkennen.
Bei einem nicht initialisiertem LCD (2 Zeilen mit je 16 Zeichen) sollte 
sich der Kontrast so einstellen lassen, dass die Punktmatrix der oberen 
Zeile sichtbar ist.
Was ist es für ein Display?

Gruß
John

von Befedo (Gast)


Lesenswert?

Okay, dass mit der Zuordnug hat sich geklärt, war nur so ne Idee von 
mir. Die Hintergrundbeleuchtung ist nicht angeschlossen, ich werde dem 
mal nachgehen.

Das Display ist vom uns bekannten Online Auktionshaus, sowas wie i-buy. 
Deshalb auch keine Doku zu dem Gerät... leider.

Grüße, Befedo

von Befedo (Gast)


Lesenswert?

So, der Tip mit der Hintergrundbeleuchtung war entscheidend! Danke dir 
John.
Nun Funktioniert alles wie gewollt, kann also zu der Thread.

Dank nochmal an alle die geholfen haben und euch noch einen schönen 
Sonntag.

MfG, euer Befedo

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.