Flüssigkristallanzeige DSM-0822A von Pollin
Ansteuerung des LCD DSM-0822A von Pollin ( I2C-Controller PCF8576) mit PIC -Mikrocontroller in C, mit Quelltext.
DSM-0822A kostet 1,95 EUR bei Pollin !!!
DSM-0822A hat 8 Stellen alphanumerisch je16 Segmenten und 16 Segmente
für die Sonderzeichen!
DSM-0822A besitzt ein I2C-Controller PCF8576
DSM-0822A wird über I2C-Bus angesteuert
DSM-0822A kann mit 3,6V...5V Spannung versorgt werden.
![]() |
Displaymaße 53x20
mm. |
![]() |
![]() |
Mit dem 10K-Potentiometer
wird Kontrast eingestellt.
Ihr SCL und SDA Pins bei Mikrocontroller können Sie selbst auswählen in dem
Sie Ausgänge am Programmanfang definieren
| #pragma bit | sda | @ PORTB.7 | // Datenleitung SDA Pin 40 |
| #pragma bit | scl | @ PORTB.6 | // Taktleitung SCL Pin 39 |
| #pragma bit | tsda | @ TRISB.7 | // Datenleitung SDA IN/AUT - Umschalter |
| #pragma bit | tscl | @ TRISB.6 | // Taktleitung SCL IN/AUT - Umschalter |
Beispielprogramm läuft auf einem PIC16F871. SDA Pin ist Pin40 (PORTB.7) und SCL Pin ist Pin39 (PORTB.6).
Hier stelle ich ein Treiber für Flüssigkristallanzeige
DSM-0822A zum Download bereit.
Dieser Treiber ermöglicht:
| Initialisieren des Displays | LCD_Init(); | Löscht alles |
| Ausgeben eines Zeichens an bestimmter Position | Ausgabe(7, 'V'); | V erscheint an 8 Stelle |
| Ausgeben eines Strings (Zeichenkette) an bestimmter Position | LCDString(0,"TEST"); | TEST erscheint an 1 Stelle |
| Ausgeben einer Zahl an bestimmter Position | ZalString(4, 321); | 321 erscheint an 5 Stelle |
// Ansteuerung von I2C LCD-Anzeige DSM-0822A von Pollin
// Testprogramm
// Michael Dworkin
// 08.06.2004
// Compiler CC5x
#include <16F871.H>
// Speihersutz121345=aus,Debug11=aus,ProgrammFlash9=an,EEpromRead8=an,NiendervoltProgr7=aus
// NiederVoltReset6=an,EinschaltTimer3=an,WachDogTimer2=aus,Oszilator01=HC
#pragma config |= 0b.11.111101.11.00.10
#pragma origin 100 // Ab Adresse 100 im Programmspeicher
#pragma bit sda @ PORTB.7 // Datenleitung SDA
#pragma bit scl @ PORTB.6 // Taktleitung SCL
#pragma bit tsda @ TRISB.7 // Datenleitung SDA IN/AUT - Umschalter
#pragma bit tscl @ TRISB.6 // Taktleitung SCL IN/AUT - Umschalter
#include "I2C.c" // I2C-Kommunikation Treiber
#include "DSM-0822A.c" // DSM-0822A Treiber
//*******************************************************
// Hauptprogramm
//*******************************************************
void main()
{
LCD_Init(); // LCD initialisieren, löschen
LCDString(0,"TEST"); // String-Ausgabe
ZalString(4, 321); // Zahl-Ausgabe
Ausgabe(7, 'V'); // Zeichen-Ausgabe
// Zusatzeichen schalten
bstart(); // Zusatzzeichen aktivieren
schreib(112); // Adresse der Anzeige(Festverdrahtet)
schreib(8*4); // Adresse des Anzeigeelements
schreib(0b.0000.0000);
schreib(0b.0000.0001); // Zusatzzeichen 1 Oben wird aktiviert
bstop();
while(1); // Programm stoppt hier
}
// Auf dem LCD erscheint "TEST321V"
Übrigens dieses Programm
läuft auch auf allen PIC-Mikrocontrollern, Sie brauchen nur bei "#include <16F871.H>"
richtige Microcontroller- Typ eintragen. Zum Beispiel bei PIC16F84
- "#include < 16F84.h>", bei PIC12F629 - "#include
< 12F629.h>".
Quellcode- Beispiel für Lauftext
gibt es hier.