LCD-Display(4x20,HD44780) zeigt nach Umstellen auf externen Quarz nur Hieroglyphen

OP #2814497
Lesenswert?

Hallo Leute,
mein LCD-Display(4x20,HD44780)funktioniert bei Verwendung des internen 
1MHz-Takt am ATMega16 korrekt. Nach Umstellen auf externen Quarz(16MHz) 
zeigt das Display nur noch Hieroglyphen an, selbst wenn der F_CPU-Wert 
in der lcd.h-Datei auf 1000000 geändert wird, genauso ist es bei anderen 
Werten, z.B. 8000000. Nach Rückstellen auf den internen Controllertakt 
funktioniert alles wieder korrekt. Was kann die Ursache sein??
Vielen Dank für die Hilfe im Voraus!!
Walter
Gast #2814506
Lesenswert?

Du betireibst das Display im Write-Only (Fire-and-forget)-Mode
also ohne Abfrage des Busy-Flags vor jeder Ausgabe?

Dann mußt Du alle Deine Wartezeiten anpassen, denn offensichtlich
überfährst Du das Display mit 16 Mhz vom Timing her.
Je nachdem, welche Routinen Du verwendest sind die nicht zwingend
von F_CPU abhängig gemacht...

Gruß,
Thosch
OP #2814555
Lesenswert?

Hallo Thosch,
vielen Dank für den Tipp. Ich habe dann den F_CPU-Wert auf 16000000 
gestellt und alle LCD-Ausführungszeiten (10 Stück)in der lcd-routines.h 
auf den 16 fachen Wert erhöht(Tabelle zeigt Ursprungswerte). Es ändert 
jedoch nichts an den Hieroglyphen.

//////////////////////////////////////////////////////////////////////// 
////////
// LCD Ausführungszeiten (MS=Millisekunden, US=Mikrosekunden)

#define LCD_BOOTUP_MS           15
#define LCD_ENABLE_US           20
#define LCD_WRITEDATA_US        46
#define LCD_COMMAND_US          42

#define LCD_SOFT_RESET_MS1      5
#define LCD_SOFT_RESET_MS2      1
#define LCD_SOFT_RESET_MS3      1
#define LCD_SET_4BITMODE_MS     5

#define LCD_CLEAR_DISPLAY_MS    2
#define LCD_CURSOR_HOME_MS      2

//////////////////////////////////////////////////////////////////////// 
////////

Was kann noch die Ursache sein??
Danke im Voraus!!
Walter
Gast #2815194
Lesenswert?

Walter Klevenz schrieb:
> Was kann noch die Ursache sein??

Das ist so ganz ohne Quellen schwer nachzuvollziehen...

Maine Glaskugel ist grade defekt ;-)

Ich würde aber darauf tippen, daß mit dem schnelleren Takt
die Setup- und Hold- Zeiten des Interface-Timings verletzt werden.
Gerade bei der Erzeugung des E-Signals ist es wichtig, das Timing
gemäß Datenblatt einzuhalten!

Wenn das Timing des E-Signals nicht paßt, kannst Du nach oder vor dem 
Zugriff beliebig lange Wartezeiten einbauen ohne daß es hilft.

Gruß,
Thosch

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