LCD mit TTL-Level RS232 Schnittstelle

Gast #785803
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
Angehängte Dateien:
Gast
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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.