Forum: Mikrocontroller und Digitale Elektronik LCD-Daten auf einem GLCD kopieren


von Andy Nagel! (Gast)


Lesenswert?

Hallo Leute!
Ich habe folgende Problematik welche ich nun mit Eurer Hilfe lösen
möchte.
Ich habe ein fertiges System mit einem LCDisplay(2x16ASCI-Zeichen mit
4Bit Datenübertragung).Nun möchte ich dieses System erweitern. Meine
Erweiterung fordert nun diverse Anzeigen auf einem Grafikdisplay.
jedoch soll die Anzeige vom LCD eins zu eins übernommen werden und auch
auf dem Grafikdisplay anzgezeigt werden.

Meine Idee:
verbinde die Ports des Alten Display(LCD) auf meinen
Mikrocontroller(ATMEGA128)
|| RS || R/W || E || DB7 || DB6 || DB5 || DB4 ||

Der RS und der E-Port werden an jeweils einen INTx(externer Interrupt)
gelegt.
Sobald an INT0(RS) eine positive Flanke kommt startet meine Bit
erkennung.
Dann warte bis ich eine pos. Flanke an Pin E(INT1) bekomme.
Gleich im Anschluss lese ich DR7 DR6 DR5 und DR4 aus.
Prüfe ob dort HIGH oder LOW ist.
nächste pos. Flanke prüft dann DR3 DR2 DR1 DR0 . jetzt weiss ich
welches Zeichen angezeigt werden soll.
Nach diesem Prinzip lese ich alle Zeichen hintereinander aus. bis ich
weiss was auf dem Display steht. Diese Zeichen möchte ich dann in einen
Zeichenstring speichern welches ich dan entgültig mit dem Gradikdisplay
anzeige.



So das ist nun meine IDEE!

Seht ihr da irgendwelche Problem...........?

Gruss Andy Nagel

von Bernhard S. (bernhard)


Lesenswert?

Hallo Andy,

schönes Projekt!

>Der RS und der E-Port werden an jeweils einen INTx(externer
>Interrupt) gelegt.

Du brauchst nur den E (Enable) - Pin über einen ext. Interrupt
auswerten.

Denn E wird dann aktiviert, wenn alle anderen Pins geschaltet sind

>Sobald an INT0(RS) eine positive Flanke kommt startet meine Bit
>erkennung.

Nicht zwingend erforderlich, E reicht volkommen aus.

Denn, weniger ist manchmal mehr ;)

Bernhard

von Andy Nagel! (Gast)


Lesenswert?

@ bernhard

meinste das das so ohne weiters funktioniert.

Zähle die gelesenen Bytes wenn ich bei 32 Byte bin, weiss ich das ich
alle Zeichen erfasst habe richtig?

von Klaus (Gast)


Lesenswert?

Irgendwie sehr krampfartig rückwärts gerichtete Projektarbeit.

An das Textdisplay werden nicht nur "lesbare" Daten (Ascii-Zeichen)
sondern auch Befehle (Initialisierung, Cursorsteuerung, Positionierung)
geschickt.
Die Schreib-Reihenfolge KANN sequentiell sein, muss ab nicht.

Man müßte dies alles mit einem Befehls-Interpreter rausfiltern und
richtig zusammgefügt anordnen.

"Einfacher" wäre ein Kamerasystem, was die Display "abfotografiert"
und per OCR wieder in Text bringt  (naja, auch nicht ganz
ernstzunehmen).

==> Ursprungssystem ordentlich erweitern. Dort statt Text- eine
Grafik-Display anschliessen.  Oder im neuen System die Funktionalität
des Altsystems mit erledigen.

Auch ein Farbfernseher hat intern kein SW-Display wo er die Daten
abzapft.

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Ein ATMega128 sollte ein LCD emulieren können.
Problematisch ist höchstens, wenn "selbstgebaute" Zeichen verwendet
werden oder der Busy-Status abgefragt wird.
Aber auch das sollte möglich sein.
Die Initialisierungssequenz muß man natürlich auch beachten.

von Bernhard S. (bernhard)


Lesenswert?

@Andy

>meinste das das so ohne weiters funktioniert.

naja, das "ohne weiteres" wage ich zu bezweifeln, wird schon etwas
komplexer.

Klaus und inoffizieller WM-Rahul gaben Dir wichtige Hinweise und
Besonderheiten.

Kannst uns ja berichten, welche Probleme aufgetreten sind, und wie Du
sie gelöst hast?

Bernhard

von Michael U. (Gast)


Lesenswert?

Hallo,

naja, wenn es ein Display mit üblichen Controller (HDxxxx) ist, kann
das Ding ja nun nicht soviel, daß die State-Machine sonderlich
kompliziert wäre.

Letztlich ist der Textspeicher 32, max. wohl 40Byte passend zu füllen,
max. 8 selbstdefinierte Zeichen einzusortieren.

Ich würde mir wohl einen Atmel greifen, das Hardware-Protokoll fertig
machen (E steigende Flanke ist üblicherweise Trigger) und dann die
Initialisierung fertigmachen. Zum Test könnte man auch das
Original-Display an einen anderen Port hängen und zusätzlich die Daten
per Software wieder ausgeben. Dann sollte man Klemmstellen oder
fehlende Kommandos schnell merken.

Gruß aus Berlin
Michael

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.