Guten Abend! ich habe für Eigenbedarf "Die erweiterten LCD-Routinen" aus dem Artikel hier angepasst. Für Kritik bin ich dankbar. Ich hoffe, diese Anpassung wird für jemanden nützlich. Was habe ich geändert: 1. jetzt kann man LCD-Pins willkürlich einschalten, egal welche Ports und welche Pins. Das passiert natürlich auf Kosten von Geschwindigkeit, aber LCD ist sowieso langsam und für Praxis bringt diese Verlangsamung kaum Nachteile. Dafür aber deutlich leichter, eigene Leiterplatte zu machen. Die Pins sind in lcd.h anzupassen. Dabei sind separat Pin-Nummer, Port, DDR- und Pin-Register anzugeben. 2. auch R/W wird benutzt, um BUSY lesen zu können. im lcd.c gibt es Umschaltung: wird #define LCD_BUSY 1 stehen, so wird BUSY abgelesen. Wird aber #define LCD_DELAY 2 stehen, dann wird R/W immer auf 0 gesetzt und wie üblich mit Verzögerungen gearbeitet. Das ist deshalb notwendig, weil die Variante mit BUSY bei Simulation in AVR Studio nicht richtig arbeitet. So kann man notfalls mit Verzögerung simulieren und später mit BUSY endgültige Variante machen. Variante mit BUSY spart natürlich Zeit, weil BUSY vor dem Befehl abgefragt wird. So kann AVR zwischen LCD-Befehlen noch etwas nützliches tun und nicht nur 42 bzw. 46 us warten. Auch E-Impuls steht immer direkt und nicht als eine Funktion. Aber da LCD genug langsam ist, hat das für Praxis keine Bedeutung. Ansonsten alles wie in Artikel "Die erweiterten LCD-Routinen" hier auf der Seite. Die Funktionen sind mit einem chinesischen Indikator 2004A und mit AT Mega 1284P getestet. Es gibt natürlich keine Garantie, dass das alles auch mit allen möglichen LCD gut arbeitet. Viele Grüße, Max.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.