www.mikrocontroller.net

Forum: Projekte & Code LCD mit TTL-Level RS232 Schnittstelle


Autor: TTL-RS232 LCD,Assembler (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
anbei Soft+Hardware (Eagle) für ein TTL-Level RS232 LCD-Display
für 2/4 Line,8/16/20/40 Chars per Line.

40x4 Char LCD ist NICHT unterstützt!

Grundgedanke für dieses Projekt war, den Code und das Timing für
das LCD vom "Master-Processor" fernzuhalten.Nachdem ich für meine
Projekte vorwiegend Tiny´s einsetze, bleibt dann natürlich mehr
Platz und Power für die eigentliche Aufgabe.
Angesteuert wird dieses TTL-RS232 LCD direkt über einen beliebigen I/O-
Pin eines anderen AVR´s.Wer´s gerne mit einer "richtigen" RS232-
Schnittstelle betreiben will : Peter Dannegger hat da einen einfachen
Pegelwandler dafür.Siehe : UART-Bootloader ATTiny13-ATMega64 !
Die Kommentare im Assembler-File sind in englisch (ich habe es mir so 
angewöhnt,weil die englische Sprache wesentlich kürzer und
prägnanter ist). Zum Verstehen der Kommentare reicht dafür aber
sicher das normale Schulenglisch.

Kurze Funktionsbeschreibung:

Die empfangenen Daten werden in einem 64 Byte Ringpuffer per Interrupt
zwischengespeichert und dann abgearbeitet.Diese Pufferung der 
ankommenden
Zeichen ist wichtig, da das LCD für einige Befehle (z.B. Clear Screen)
schon einmal ca 20ms Zeit benötigt.Innerhalb dieser 20 ms könnte der 
"Master" ja schon neue Zeichen/Kommandos senden, die dann ohne
Pufferung einfach in´s leere gehen würden.
Weiters sind 20 Funktionsbefehle für das LCD (wie z.B. Clear Screen,
LCD On,Shift Cursor Left/Right,Shift Display Left/Right, e.t.c)
in der Software includiert.Diese Befehle werden durch ein Byte vom
"Master" an das TTL-RS232 LCD übergeben.Durch den 64 Byte Ringpuffer
kann vom "Master" sofort das nächste Zeichen (oder der nächste Befehl)
gesendet werden, ohne das sich der "Master" um irgendwelche Delays
oder Busy-Abfragen scheren muß.

Hoffe, daß dieses Projekt für einige von Interesse ist!
Liebe Grüße aus Wien

Autor: Ibsimed1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
irgendetwas ist mit meinem Namen schiefgelaufen.
Hier die Berichtigung !

Autor: Ibsimed1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
also heute sitzt der Fehlerteufel bei mir auf der linken Schulter!
Der "Clear Screen" Befehl braucht natürlich keine 20 ms sondern nur
knapp 2 ms.
Trotzdem : 2 ms sind bei 9600 Baud auch schon (fast) 2 Zeichen !

Sorry!

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.