www.mikrocontroller.net

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


Autor: Andy Nagel! (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andy Nagel! (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.