Forum: Mikrocontroller und Digitale Elektronik LCD HD44780 mit Atmega32 ansteuern


von Henning K. (htk0708)


Angehängte Dateien:

Lesenswert?

Ich baue momentan eine Lüftersteuerung mit einem Atmega32 auf,diese soll 
die Lüfter je nach Wassertemperatur ansteuern und dann Werte wie 
Temperatur und Lüfterdrehzahl auf einen LCD ausgeben.
Die Ansteuerung der Lüfter und der Temperatur Sensoren funktioniert auch 
ohne Probleme. Allerdings Funktioniert das LCD nicht, dort wird nur ein 
Schwarzer Balken angezeigt.

Ausprobiert habe ich das ganze schon mit 2 Displays, beide sind HD44780 
kompatibel und haben die Standard Pin Belegung.
Ich habe die Verbindung von den I/O Pins zu den Displays mit einem 
Multimeter durchgemessen.

Da ich hier schon seid 2 Studen auf Fehlersuche bin und leider keine 
Ahnung hab was da Falsch lauft, dachte ich mir einer von euch könnte mir 
eventuell behilflich sein indem er mal auf Schaltplan und Programm Code 
guckt.

Mfg Henning

von holger (Gast)


Lesenswert?

JTAG deaktivieren.

von Wolfgang (Gast)


Lesenswert?

Henning Klein schrieb:
> Da ich hier schon seid 2 Studen auf Fehlersuche bin und leider keine
> Ahnung hab was da Falsch lauft, dachte ich mir einer von euch könnte mir
> eventuell behilflich sein indem er mal auf Schaltplan und Programm Code
> guckt.

Was nützt der Schaltplan, wenn man die Bauelemente nicht kennt und die 
Leitungen nicht vernünftig beschriftet sind. Zumindest ein paar Infos zu 
deinem Display wären nicht schlecht. Wer weiß, wie der Controller auf 
deinem Board verdrahtet ist, da bestimmt 90% der verkauften Displays mit 
HD44780 ihre Anschlüsse auf einer einreihigen Pin-Leiste haben, scheint 
deines irgendwie vom Quasistandard abzuweichen.

Und mit welcher Frequenz dein Prozessor tatsächlich läuft, solltest du 
auch erwähnen. Dem ist das nämlich ziemlich egal, was im Quellcode 
steht.
Zwei sich widersprechende Frequenzangaben im Code können schon Probleme 
genug aufwerfen.

von OldMan (Gast)


Lesenswert?

In Fleury_lcd_pollin.h
ist schon falsch:

#define LCD_CONTROLLER_KS0073 1

Denn Du hast HD44780 controller.

Somit sollte der define auf 0 stehen!

von OldMan (Gast)


Lesenswert?

LCD_FLEURY.C

#define F_CPU 200000000000 -> Das sind 200 GHz!

Seit wann gibt es so schnelle AVR's?

von OldMan (Gast)


Lesenswert?

LCD_FLEURY.C

DDRC=0b00000000; -> Alles Eingänge?

von isidor (Gast)


Lesenswert?

Wolfgang schrieb:
> da bestimmt 90% der verkauften Displays mit
> HD44780 ihre Anschlüsse auf einer einreihigen Pin-Leiste haben, scheint
> deines irgendwie vom Quasistandard abzuweichen.

Ja es gibt auch zweireihige HD44780-Displays.
Beide Versionen sind 16-polig, und die Pin-Numerierung und
Bedeutung ist ebenfalls gleich.

Sehr gut wäre es dennoch, die Pin-Bezeichnungen im Schaltplan
zu sehen.

Wenn R/W nicht verdrahtet ist muss es am Display auf 0 (Masse)
gelegt werden.

von Karl H. (kbuchegg)


Lesenswert?

Aus dem Header File
1
#define LCD_RS_PORT      PORTB        /**< port for RS line         */
2
#define LCD_RS_PIN       5            /**< pin  for RS line         */
3
#define LCD_RW_PORT      PORTB        /**< port for RW line         */
4
#define LCD_RW_PIN       4            /**< pin  for RW line         */
5
#define LCD_E_PORT       PORTB        /**< port for Enable line     */
6
#define LCD_E_PIN        6            /**< pin  for Enable line     */

stimmt doch gar nicht!
Alle Leitungen führen zum Port C

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Die Jumper JP10 und JP11 sind gar kurios beschaltet. Ich mache das immer 
so: Vcc-Signal-GND, dann kann ich die Jumper nie so stecken, dass es 
einen Kurzen gibt...

Und die R24 und R25 wären besser Pullups. Wobei da könnte man ja auch 
die im uC eingebauten verwenden...

: Bearbeitet durch Moderator
von Karl H. (kbuchegg)


Lesenswert?

Lothar Miller schrieb:
> Die Jumper JP10 und JP11 sind gar kurios beschaltet. Ich mache das immer
> so: Vcc-Signal-GND, dann kann ich die Jumper nie so stecken, dass es
> einen Kurzen gibt...

Ich denke, das ist kein Jumper. Könnte ein Anschluss sein, an dem ein 
Poti angesteckt wird.
Der Pullup würde wieder eher auf einen Taster hindeuten.

Ich hätte ja auch die Datenleitungen der Reihe nach an PC0-PC3 angelegt 
und nicht genau verkehrt rum. OK, ist jetzt nicht so das Problem, die 
Fleury Lib kommt damit klar, aber trotzdem.

: Bearbeitet durch User
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.