Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
de:examples:display:lcd_alphanumeric [2011/10/26 11:36] wittkoepperde:examples:display:lcd_alphanumeric [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 5: Line 5:
 ===== Theorie ===== ===== Theorie =====
  
-Das alphanumerische LCD ist ein Flüssigkristall-Display, zur Darstellung von Buchstaben und Ziffern. In einfachen LCD's werden flüssige Kristalle verwendet, welche zwischen transparenten Elektroden angeordnet sind und welche die Polarisation des durchstrahlenden Lichts im elektrischen Feld verändern. Die Elektroden sind mit Polarisationsfiltern bedeckt, welche sicher stellen, das nur in eine Richtung polarisiertes Licht den Bildschirm erreicht+Das alphanumerische LCD ist ein Flüssigkristall-Display, welches zur Darstellung von Buchstaben und Ziffern dient. In einfachen LCD's werden flüssige Kristalle verwendet, welche zwischen transparenten Elektroden angeordnet sind und die Polarisation des durchstrahlenden Lichts im elektrischen Feld verändern. Auf den Elektroden befinden sich Polarisationsfilter, welche sicher stellen, das nur in eine Richtung polarisiertes Licht auf den Bildschirm trifft
-Wenn der Flüssigkristall seine Polarisation durch das elektrische Feld ändert, erreicht das Licht nicht den Bildschirm bzw. das Segment und die Anzeige ist schwarz.+Wenn der Flüssigkristall seine Polarisation durch das elektrische Feld ändert, erreicht das Licht den Bildschirm oder ein Segment des Bildschirms nicht und er bleibt schwarz.
  
-Hauptmerkmal eines alphanumerischen LCD ist die Anordnung der Segmente. Der Bildschirm ist in verschiedene Anzeigen unterteilt. Jede Anzeige hat entweder genügend Segmente um Buchstaben oder Nummern anzuzeigen oder es wird eine Matrix aus Pixeln gebildet. Zum Beispiel ist eine Matrix aus 5x7 Pixeln ausreichend, um alle Nummern und Buchstaben des lateinischen Alphabets darzustellen. Die Anzeigen haben normalerweise 1 bis 4 Zeilen und bis32 Spalten. Zwischen den Anzeigen befinden sich kleine Abstände ähnlich der Buchstaben im Text.+Hauptmerkmal eines alphanumerischen LCD ist die Anordnung der Segmente. Der Bildschirm ist in verschiedene Anzeigen unterteilt. Jede Anzeige hat entweder genügend Segmente um Buchstaben oder Nummern anzuzeigen oder es wird eine Matrix aus Pixeln gebildet. Eine Matrix aus 5x7 Pixeln ist beispielsweise ausreichend, um alle Nummern und Buchstaben des lateinischen Alphabets darzustellen. Die Anzeigeelemente bestehen gewöhnlich aus 1 bis 4 Zeilen sowie bis 32 Spalten. Zwischen den Elementen befinden sich kleine Abstände ähnlich wie bei Buchstaben im Text.
  
 [{{  :examples:display:lcd_alphanumeric:lcd_alphanumeric_abc.png?200|Darstellung eines Textes durch eine Pixelmatrix eines alphanumerischen LCD.}}] [{{  :examples:display:lcd_alphanumeric:lcd_alphanumeric_abc.png?200|Darstellung eines Textes durch eine Pixelmatrix eines alphanumerischen LCD.}}]
  
-Neben dem Bildschirm hat das alphanumerische LCD auch einen Controller, welcher die Segmente des Bildschirms gemäß den Befehlen der Kommunikationsschnittstelle steuert. je nach Befehl vom Kommunikations-Interface kontrolliert. Ein Controller hat eine vorprogrammierte Karte an Buchstaben, wo jeder Buchstabe, Nummer und Symbol ihren eigenen Index haben. +Neben dem Bildschirm hat das alphanumerische LCD auch einen Controller, welcher die Segmente des Bildschirms gemäß den Befehlen der Kommunikationsschnittstelle steuert. Ein Controller verfügt über eine vorprogrammiertes Set von Buchstaben mit einem eigenen Index für jeden Buchstaben, jede Nummer sowie jedes Symbol. Die Darstellung des Textes auf dem Bildschirm  erfolgt, einfach gesagt, indem die Indizes zum Controller gesendet werden. Tatsächlich müssen jedoch weitere Kontrollbefehle übermittelt werden, bevor irgendetwas dargestellt werden kann. Da es viele verschiedene Ausführungen von LCDs gibt, die jeweils unterschiedlich gesteuert werden, ist es wichtig, sich mit dem Datenblatt jedes LCDs vertraut zu machen.
-Das darstellen von Text auf dem Bildschirm wird, einfach gesagt, dadurch bewerkstelligt, dass die Indizes zum Controller gesendet werden. In Wirklichkeit müssen es mehr Kontrollbefehle gesendet werden, bevor irgendetwas dargestellt werden kann. Es wichtig sich mit jedem LCD Datenblatt vertraut zu machen, weil es viele verschiedene Typen von LCDs gibt und diese alle unterschiedlich kontrolliert werden.+
  
-Alphanumerische LCDs haben normalerweise eine passive Matrix, wo die Erneuerung des elektrischen Feldes der Segmente runden-weise stattfindet. Darum sind die Bildschirme mit passiver Matrix langsamer und haben weniger Kontrast als welche mit aktiver Matrix, wo die Ladung jedes Segments durch einen eigenen Transistor erfolgt. Einige LCDs haben eine reflektierende Rückfläche, andere haben eine Backlight, manchmal sogar viele verschiedene BacklightsAber die Segmentfarbe für alphanumerische LCDs ist nur eineschwarz, aber es gibt auch Bildschirme mit weißer oder bunter Schrift.     +Alphanumerische LCDs besitzen normalerweise eine passive Matrix. Hier erfolgt die Erneuerung des elektrischen Feldes der Segmente turnusmäßigAus diesem Grund sind Bildschirme mit einer passiven Matrix langsamer und Darum sind die Bildschirme mit passiver Matrix langsamer und bieten weniger Kontrastals Bildschrime mit aktiver Matrix. Bei Aktivmatrix-Bildschrimen wird die Ladung jedes einzelnen Segments durch einen eigenen Transistor gesteuert. Einige LCDs haben einen reflektierenden Hintergrund, andere haben Hintergrundbeleuchtungen und wieder andere sogar verschiedene HintergrundbeleuchtungenDie Segmente eines alphanumerischen LCDs haben jedoch immer nur eine Farbe. In der Regel sind sie schwarz, es gibt jedoch auch Bildschrime mit weißer oder farbiger Schrift.
  
  
 ===== Übung ===== ===== Übung =====
  
-Am HomeLab Digitalen I/O-Modul ist ein 2x16 Symbol alphanumerisches LCD WC 1602A angeschlossen. Um den Bildschirm zu kontrollieren gibt es einen 4-Bit Datenbus und 3 Kontroll-Pins, aber das Kommunikationsprotokoll ist viel zu umfangreich um es hier zu besprechen. Um es einfach zu halten, die HomeLab Library hat die Funktionen um das Display zu nutzen.+Am digitalen I/O Modul des HomeLab ist ein alphanumerisches, 2x16 Zeichen großes, LCD WC 1602A angeschlossen. Zur Steuerung des Bildschirms gibt es einen 4-Bit Datenbus sowie 3 Kontroll-Pins. Da das Kommunikationsprotokoll des Bildschirms zu umfangreich ist, um es hier zu erläuternenthält die HomeLab Library die entsprechenden Funktionen zur Nutzung des Displays
  
-Bevor man das Display nutzt, ist es wichtig die Einstellungen anzupassen. Dafür gibt es die +Vor der Nutzung des Displays ist es notwendig, seine Einstellungen anzupassen. Hierzu dient die //lcd_alpha_init// Funktion, welche einen blinkenden Cursor auf dem Bildschirm erscheinen lässt. Hier gibt es nur eine aktive Position für den Cursor, an welcher der nächste Buchstabe eingegeben werden kann. Bevor also Text eingegeben wird, muss der Cursor an die gewünschte Position bewegt werden. Um die Position des Cursors zu verändern gibt es die Funktion //lcd_alpha_goto_xy// und für die Darstellung die Funktion //lcd_alpha_write_string//Sämtliche Funktionen des alphanumerischen LCDs sind in der Library erklärt.
- // lcd_alpha_init// Funktion, welche einen blinkenden Cursor auf dem Bildschirm erscheinen lässt. Auf dem Bildschirm gibt es nur eine aktive Position für den Cursor wo Text eingegeben werden kann. Also bevor man Text eingibt, muss der Cursor zur gewünschten Position bewegt werden. Um die Position des Cursors zu verändern gibt es die Funktion lcd_alpha_goto_xy und für die Darstellung die Funktion lcd_alpha_write_string. +
-All diese Funktionen des alphanumerischen LCDs werden in der Library erklärt.+
  
-Der folgende Programm-Code zeigt wie man das alphanumerische LCD als Uhr nutzt. Die Zeit beginnt um 00:00:00 und steigt annähernd jede Sekunde. Da das zählen von Zeit mit einer Verzögerungsfunktion geschieht, ist das nicht sehr genau. Die Ungenauigkeit wird in der Aufgabe zu periodischen Unterbrechungen erklärt. Das Programm zählt die Zeit in Sekunden und konvertiert diese in Minuten und Sekunden. Um Uhrzeit darzustellen wird die Standard-Funktion in C-Sprache genutzt: //sprintf//    +Der folgende Programm-Code zeigt wie das alphanumerische LCD als Uhr genutzt werden kann. Die Zeit beginnt bei 00:00:00 und nimmt etwa jede Sekunde zu. Da das Zählen der Zeit mit Hilfe einer Verzögerungsfunktion geschieht, ist das Ergebnis nicht sehr genau. Diese Ungenauigkeit wird im Rahmen der Aufgabe zu periodischen Unterbrechungen erklärt. Das Programm zählt die Sekunden und konvertiert diese in Minuten und Sekunden. Um Uhrzeit darzustellen wird die Standard-Funktion in C genutzt: //sprintf//    
  
  
 <code c> <code c>
 // //
-// The example of using the alphanumerical LCD of the HomeLab. +// Beispiel zur Nutzung des alphanumerischen LCD des HomeLab. 
-// The clock time starting at the beginning of the program is displayed on the LCD.+// Die Startzeit zu Beginn des Programms wird auf dem LCD angezeigt.
 // //
 #include <stdio.h> #include <stdio.h>
Line 39: Line 36:
  
 // //
-// Main program.+// Hauptprogramm.
 // //
 int main(void) int main(void)
Line 46: Line 43:
     char text[16];     char text[16];
  
-    // Set-up of the LCD.+    // Einrichtung des LCD.
     lcd_alpha_init(LCD_ALPHA_DISP_ON);     lcd_alpha_init(LCD_ALPHA_DISP_ON);
  
-    // Cleaning of the LCD.+    // Löschen des LCD.
     lcd_alpha_clear();     lcd_alpha_clear();
  
-    // Name of the program.+    // Name des Programms.
     lcd_alpha_write_string("The Time Counter");     lcd_alpha_write_string("The Time Counter");
  
-    // Endless loop    +    // Endlosschleife    
     while (true)     while (true)
     {     {
-        // Converting the seconds to the clock form:+        // Konvertieren der Sekunden in die Zeitanzeige:
         // hh:mm:ss         // hh:mm:ss
         sprintf(text, "%02d:%02d:%02d",         sprintf(text, "%02d:%02d:%02d",
Line 65: Line 62:
              seconds % 60);              seconds % 60);
  
-        // Displaying the clock text in the beginning of the second row of the LCD.+        // Anzeige der Zeit am Anfang der zweiten Reihe des LCD.
         lcd_alpha_goto_xy(0, 1);         lcd_alpha_goto_xy(0, 1);
         lcd_alpha_write_string(text);         lcd_alpha_write_string(text);
                  
-        // Growing seconds by 1.+        // Anstieg der Sekunden um 1.
         seconds++;         seconds++;
                  
-        // Hardware delay 1000 ms.+        // Hardwareverzögerung 1000 ms.
         hw_delay_ms(1000);         hw_delay_ms(1000);
     }     }
 } }
 </code> </code>
de/examples/display/lcd_alphanumeric.1319628963.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0