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


von TTL-RS232 LCD,Assembler (Gast)


Angehängte Dateien:

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

von Ibsimed1 (Gast)


Lesenswert?

Hallo,
irgendetwas ist mit meinem Namen schiefgelaufen.
Hier die Berichtigung !

von Ibsimed1 (Gast)


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!

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.