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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.