Forum: Mikrocontroller und Digitale Elektronik Zeiten LCD Header Tutorial


von iGast (Gast)


Lesenswert?

Hallo,

arbeite mich gerade durch die Header_Datei für Displays hier auf 
mikrocontroller.net.

Hier der Beitrag:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung

Ich habe ein Displaytech 202A und möchte nun die Zeiten in der Header 
anpassen. Woher kommen diese Zeiten? Wo finde ich diese im Datenblatt?



PS: Danke für die tollen Tutorials hier

von Frank M. (frank_m35)


Lesenswert?

Warum willst du die Zeiten anpassen.

Im Datenblatt auf Seite 5 und 6 stehen sie doch fett und deutlich.

von iGast (Gast)


Lesenswert?

Hallo, ein paar kann ich zuordnen. Was ist mit den anderen gemeint?

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

#define LCD_BOOTUP_MS           15 // Seite 6
#define LCD_ENABLE_US           20 // ???
#define LCD_WRITEDATA_US        46 // Seite 5 Write Data
#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  //Seite 5 Display Clear
#define LCD_CURSOR_HOME_MS      2  //Seite 5 Return Home

von Frank M. (frank_m35)


Lesenswert?

iGast schrieb:
> Hallo, ein paar kann ich zuordnen. Was ist mit den anderen gemeint?
>
> // LCD Ausführungszeiten (MS=Millisekunden, US=Mikrosekunden)
>
#define LCD_BOOTUP_MS           15 // Seite 6
#define LCD_ENABLE_US           20 // Enable Impuls, Seite 4, Tabelle 
"E pulse width" min 220ns. Ist ein absoluter Minimalwert, 20us sind wohl 
ein guter Erfahrungswert.
#define LCD_WRITEDATA_US        46 // Seite 5 Write Data
#define LCD_COMMAND_US          42 // Seite 5 die restlichen Commands 
(Entry mode set, Display On/Off, Shift, ...), alle 42us

#define LCD_SOFT_RESET_MS1      5 // Seite 6: 'Wait for more than 4.1ms'
#define LCD_SOFT_RESET_MS2      1 // Seite 6: 'Wait for more than 100us'
#define LCD_SOFT_RESET_MS3      1 // Seite 6: 'Wait for more than 100us'
#define LCD_SET_4BITMODE_MS     5 // Seite 5: Set Function: 42us 
(vermutlich auch ein Erfahrungswert, die 5ms)

#define LCD_CLEAR_DISPLAY_MS    2  //Seite 5 Display Clear
#define LCD_CURSOR_HOME_MS      2  //Seite 5 Return Home


Es hilft im Code, also in lcd-routines.c, nachzuschauen um zu sehen wo 
diese Zeiten verwendet werden und dann kannst du das auch mit der 
Beispiel-Initialisierungsroutine aus dem Datenblatt vergleichen.

PS: Ich würde an den Zeiten gar nichts ändern, da wie du siehst, es 
Minimalwerte im Datenblatt sind und die Zeiten im Beispielcode also auch 
passen, zudem erprobt sicher sind.
Du gewinnst nichts wenn du daran rumdoktorst, da die einzigen 
Abweichungen in der Initialisierung auftreten, die du nur einmal machst, 
d.h. keinen realen Zeitgewinn durch ändern der Werte.

von iGast (Gast)


Lesenswert?

Vielen Dank.

du hast Recht. Aber ich fürs Verständis hat es mir nicht geschadet. 
Vielen Dank nochmals.

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.