 |
Die
Standardbibliothek „16f877 bert" (bzw. auch die Bibliotheken für andere
Typen) stellt keine Funktionen zum Steuern von LC-Displays bereit. Wir laden
deshalb zusätzlich die Bibliothek „lcd_44780". Der LCD-Controller 44780, der
auch in dem von uns gewählten Display-Typ eingebaut ist, wurde im Lauf der
Zeit zum Quasi-Standard. Inzwischen arbeiten die meisten LC-Displays dieser
Größe mit dem 44780, die LCD-Displays dieser Bauart sind gegeneinander
austauschbar.
Die Bibliothek „lcd 44780" bietet eine ganze Reihe nützlicher Funktionen: |
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_init |
Initialisiert das LC-Display. Diese
Funktion wird bei Einbinden der Bibliothek automatisch ausgeführt |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD
clear line (<Zeile>) |
Löscht eine Zeile (0 = erste Zeile). |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD
char-pos (<Zeichen>, <Positio>) |
Setzt auf eine bestimmte Position ein
Zeichen. |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_char_line_pos (<Zeichen>, <Zeile>, <Position>) |
Setzt auf eine bestimmte Position in einer
bestimmten Zeile ein |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_num_pos(<Byte>, <Positio>) |
Setzt auf eine bestimmte Position eine Zahl
zwischen 0 und 255. |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_num_line_po (<Byte>, <Zeile>, <Position>) |
Setzt auf eine bestimmte Position in einer
bestimmten Zeile eine Zahl zwischen 0 und 255. |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_num_pos_1_dec (<Byte>, <Position>) |
Setzt auf eine bestimmte Position eine Zahl
mit Dezimalkomma zwischen 0 und 25,5. |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_high_low_line_pos (<highByte>, <lowByte>, <Zeile>, <Position>) |
Setzt auf eine bestimmte Position in einer
bestimmten Zeile eine Zahl zwischen 0 und 65535. |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_progress (<Byte>, <Zeile>) |
Zeichnet einen Balken, dessen Länge vom
Wert des Bytes bestimmt wird. |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_shift_right |
Verschiebt alle angezeigten Zeichen in
beiden Zeilen um eine Position nach rechts. |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_shift_left |
Verschiebt alle angezeigten Zeichen in
beiden Zeilen um eine Position nach links. |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_cursor_pos = <Position> |
Setzt den Cursor auf eine bestimmte
Position. |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD
cursor = off |
Schaltet den Cursor aus (Einschalten mit„
on") |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_blink = on |
Schaltet den Blinkmodus ein (Ausschalten
mit „off") |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_display = off |
Schaltet das gesamte Display aus
(Einschalten mit „ori') |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_custom (<Platz>) |
Schreibt ein selbst gestaltetes Zeichen in
den LCD-Zeichenspeicher (Platz = 0...7) |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
CharData[ ] |
Array für die Definition selbst gestalteter
Zeichen. Die Zeichen werden der Reihe nach im LCD-Zeichenspeicher
abgelegt. |
|
|
 |
allgemeiner Funktionsaufruf |
Beschrebung |
Anwendungsbeispiel |
LCD_clock_line_pos (<Byte>, <Zeile>, <Position>) |
Setzt eine Zahl im Bereich 00...99 mit
führender„ 0" auf eine bestimmte Position in einer bestimmten Zeile. |
|
|
|
In diesem Projekt kommen nur einige Funktionen der Bibliothek „1cd 44780"
vor, die übrigen Funktionen werden erst in späteren Projekten angewendet. Es
ist sinnvoll, zu Beginn einen Text auf das LC-Display zu setzen, der
Auskunft über die Art der Messung gibt. Einzelne Zeichen werden mit
folgender Funktion auf das Display gesetzt:
LCD char-line_pos (<Zeichen>, <Zeile>, <Positio>) Sowohl die Zeilen- als auch
die Spaltennummerierung (die Position in der Zeile) beginnen mit 0: |
 |
- geschrieben von Stef Mientki und Bert van Dam.
- bei der Auswahl des LC-Displays muss unbedingt darauf geachtet werden,
dass der Display-Typ mit dem LCD-Controller 44780 kompatibel ist. Für
andere Typen müssen Bibliotheken gegebenenfalls selbst geschrieben werden.
Im Internet wird für andere Display-Typen nur selten Unterstützung
angeboten.
|
 |
Zeile |
Position |
0 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|